4 ms·
Funny that people notice this. I think this is how all pages on the internet should be! Lately I'm getting tired of all those fancy Javascript pages or pages bu
by tintin 15y ago
Funny that people notice this. I think this is how all pages on the internet should be!
Lately I'm getting tired of all those fancy Javascript pages or pages build on bloated frameworks.
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).
- CyberShadow 15y agoHere are some of the things that play a part in the forum's performance: * 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 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.
- dkhenry 15y agoGreat work. I wonder if there is a way to turn this into a more general purpose framework then just serving up one specific forum.
- CyberShadow 15y agoYes, there are way too many things hard-coded at the moment. I want to refactor all of it out into templates, config files and library code. There's apparently some interest of adopting some code into D's standard library, too.
- andralex 15y agos/some/a ton of/
- swah 15y agoWhat's the current state of D, in relation to compilers and libraries? Did one compiler/version and one standard library have won already?
- CyberShadow 15y agoYes. D1 is pending deprecation at the end of this year. D2 uses a common runtime separated from the standard library, and you can use Phobos and Tango alongside each other. http://en.wikipedia.org/wiki/D_(programming_language)#History http://en.wikipedia.org/wiki/D_(programming_language)#Histor...