The speed of this forum has nothing to do with D. You can achieve this in a language like PHP as well.
Just skip the bloat (server and client side).
* Optimized and deflated static resources
* Deflated HTML output
* SQLite prepared statements
* Integrated HTTP server (although it's currently in front of an Apache proxy)
* An optimized string builder (https://github.com/CyberShadow/DAppenderResearch)
* RAM cache of frequent DB queries
While there are equivalents available for interpreted/CGI languages (e.g. opcode caches, memcached), there is still a significant performance advantage. With a warm cache, most pages can be written out in under 5ms, and the busiest in under 50.
For some perspective, the time needed to compose the busiest view (threaded or split-view) halved when I moved from naive string concatenation to an optimized appender.
It looks like there isn't even a template language -- it seems to build the html using the plain old string concatenation method.
`<tr class="thread-post-row`, (post.info && post.id==selectedID ? ` thread-post-focused thread-post-selected` : ``), `">`
`<div style="padding-left: `, format("%1.1f", OFFSET_INIT + level * offsetIncrement), OFFSET_UNITS, `">`
`<div class="thread-post-time">`, summarizeTime(post.time, true), `</div>`,
`<a class="postlink `, (user.isRead(post.rowid) ? "forum-read" : "forum-unread" ), `" href="`, encodeEntities(idToUrl(post.id)), `">`, truncateString(post.author, 20), `</a>`
A lot of Web Designers today tend to completely forget that page size matters, and that just because many of us have broadband connection it's no reason to throw JS and screen size images everywhere.
D's design goals attempt to combine the performance of
compiled languages with the safety and expressive power
of modern dynamic languages. Idiomatic D code is
commonly as fast as equivalent C++ code, while being
shorter and memory-safe.
More different than I thought.
HN -> http://forum.dlang.org/ -> http://dlang.org/overview.html -> http://digitalmars.com/NewsGroup.html