On Wed, 2004-05-12 at 15:42 +0200, Erik Moeller wrote:
On the plus side, rendering of collapsed pages is very fast as indeed only the intro has to be rendered (the headlines are also converted to HTML to make stripping of wikitags easier, but this is concatenated into a single step and thus quite unnoticeable).
I've investigated the caching issue a bit- there's nil purging for the sections and the full page view, so the code would need to be changed to send no-cache headers, otherwise anon users will get old versions of the page. I've done some benchmarks of a long testpage (http://wikidev.net/Long_testpage, 267.8Kb raw, 57.8kb gzipped for normal browsers) with section folding/no caching vs. disabled section folding/caching enabled. The (not surprising) result: Section folding without caching is about 20 times slower.
Also there are two tocs on that test page, not sure if that's intentional.
Erik, can you move the section folding code to a separate branch for now? The plan is to get 1.3 ready soon, but this feature needs more work and discussion. It would certainly be a performance problem as it is.
Cheers
Gabriel Wicke
Detailed benchmark data:
Page: http://wikidev.net/Long_testpage 267.8Kb raw, 57.8kb for normal browsers (gzipped)
Section folding enabled, no caching, full page view: ab -n 100 -H 'Accept-Encoding: gzip' -c 5 http://wikidev.net:8000/Long_testpage?action=view%5C&collapse=false
Requests per second: 0.13 [#/sec] (mean)
Connection Times (ms) min mean[+/-sd] median max Connect: 0 9 48.9 0 357 Processing: 35941 37926 1048.5 37801 42632 Waiting: 35941 37922 1048.5 37772 42632 Total: 35941 37936 1051.8 37801 42632
No section folding, caching enabled (as on wp.org), full page view: ab -n 100 -H 'Accept-Encoding: gzip' -c 5 http://wikidev.net/Long_testpage
Requests per second: 2.66 [#/sec] (mean)
Connnection Times (ms) min mean[+/-sd] median max Connect: 0 10 50.6 0 373 Processing: 3 1872 8157.5 9 37526 Waiting: 3 1868 8138.5 8 37422 Total: 3 1882 8199.2 9 37573