Efficient Rendering of Your HTML
You may have noticed that we didn't simply concatenate a string in the Render() method of our custom server control and then send it to the HtmlWriter. The reason is that string concatenation is a fairly expensive process in terms of performance, especially if you need to assemble huge strings and do it multiple times in the same page, once for each instance of a control. Using a StringBuilder object to piece together a string is much faster by several orders of magnitude. We'll go into more depth in Chapter 15, "Performance, Scalability, and Metrics."You can also output strings directly to the HtmlWriter because this is also faster than string concatenation.