Very nice!
I did compile a fresh 7.9 and then copied all the bench files back to an old 7.8 and ran both to compare. Although most things were noticeably improved there are a handful of significant regressions:
7.8: call_out handling.......... 0.097s 0.005s (25) (200123/s) call_out handling (with id) 0.094s 0.001s (25) (693078/s) Compile.................... 0.457s 0.365s (11) (66136 lines/s) Compile & Exec............. 0.309s 0.216s (17) (2788662 lines/s) Tag removal using a loop... 1.003s 0.911s (5) (307474 tags/s) Tag removal u. Parser.HTML. 0.722s 0.629s (7) (2668838 tags/s) Tag removal using sscanf... 0.364s 0.272s (14) (411657 tags/s)
7.9: call_out handling.......... 0.006s 0.005s (10) (1986/s) call_out handling (with id) 0.002s 0.001s (12) (2230/s) Compile.................... 0.458s 0.429s (4) (56321 lines/s) Compile & Exec............. 0.249s 0.231s (5) (2607873 lines/s) Tag removal using a loop... 1.997s 1.924s (2) (145514 tags/s) Tag removal u. Parser.HTML. 0.720s 0.673s (3) (2496792 tags/s) Tag removal using sscanf... 0.394s 0.364s (4) (307338 tags/s)
Anyone else that see the same problem areas?
Nevertheless, some real-world benchmarks (using three different XSLT tests) show really impressive gains!
7.8 7.9 -------- -------- test1: 196 ms 163 ms test2: 164 ms 136 ms test3: 941 ms 776 ms