-
Notifications
You must be signed in to change notification settings - Fork 35
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
``` $ ./vendor/bin/phpbench run benchmarks/EngineBenchmark.php --report=aggregate PhpBench 0.15-dev (@git_version@). Running benchmarks. Using configuration file: ./yay/phpbench.json \EngineBenchmark | benchMacroExpansion I4 P0 25.371 25.114 (ms) : 0.539ms 2.13% benchMacroExpansion I4 P1 59.729 59.920 (ms) : 1.007ms 1.69% benchMacroExpansion I4 P2 104.914 104.161 (ms) : 1.942ms 1.85% benchMacroExpansion I4 P3 163.220 163.037 (ms) : 3.374ms 2.07% benchMacroExpansion I4 P4 313.258 313.639 (ms) : 1.739ms 0.56% benchMacroExpansion I4 P5 468.592 464.465 (ms) : 8.165ms 1.74% benchMacroExpansion I4 P6 826.266 822.542 (ms) : 6.465ms 0.78% 1 subjects, 35 iterations, 7 revs, 0 rejects, 0 failures, 0 warnings (best [mean] worst) = 24,912.000 [280,192.829 278,982.569] 26,429.000 (μs) ⅀T: 9,806,749.000μs μSD/r 3,318.799μs μRSD/r: 1.544% +-----------------+---------------------+--------+------+-----+-----------+ | benchmark h | mem_peak | best | mean | worst | diff | +-----------------+---------------------+--------+------+-----+-----------+ | EngineBench | 19,495,632b | 24.912ms | 25.371ms | 26.429ms | 1.00x | | EngineBench | 45,612,440b | 58.146ms | 59.729ms | 60.852ms | 2.35x | | EngineBench | 81,132,472b | 102.792ms | 104.914ms | 108.012ms | 4.14x | | EngineBench | 124,487,008b | 158.990ms | 163.220ms | 168.434ms | 6.43x | | EngineBench | 238,881,608b | 310.390ms | 313.258ms | 315.611ms | 12.35x | | EngineBench | 52,887,416b | 461.669ms | 468.592ms | 483.650ms | 18.47x | | EngineBench | 90,814,552b | 818.067ms | 826.266ms | 834.284ms | 32.57x | +-----------------+---------------------+--------+------+-----+-----------+ ``` The regression was caused by `midrule` parser backtracking at each token, causing the `TokenStream` to be traversed **many** times each time there was a backtrack 😱 The new `midrule` behavior - backtracking when anything but `Ast` is returned - is correct, it was a bugfix. But apparently the non backtracking behavior was being used as a feature while traversing source and expanding it.
- Loading branch information
1 parent
d322056
commit a6a81a0
Showing
1 changed file
with
97 additions
and
104 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters