Skip to content

Commit 6b4cf51

Browse files
committed
Segfault occurs even without multiple precompile calls
1 parent b7b4bef commit 6b4cf51

1 file changed

Lines changed: 7 additions & 19 deletions

File tree

tests/benchmark.php

Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
require __DIR__ . '/../vendor/autoload.php';
1414

15-
$iterations = (int) ($argv[1] ?? 1000);
15+
$iterations = (int) ($argv[1] ?? 1);
1616

1717
// A large, complex template exercising as many syntax features as possible.
1818
$template = loadTemplate('large-page');
@@ -84,27 +84,9 @@
8484
knownHelpersOnly: $knownHelpersOnly,
8585
);
8686

87-
// Warm up: give the JIT a chance to compile hot paths before we measure.
88-
for ($i = 0; $i < 50; $i++) {
89-
Handlebars::precompile($template, $options);
90-
foreach ($partialTemplates as $src) {
91-
Handlebars::precompile($src, $options);
92-
}
93-
}
94-
9587
memory_reset_peak_usage();
9688
$start = hrtime(true);
9789

98-
for ($i = 0; $i < $iterations; $i++) {
99-
Handlebars::precompile($template, $options);
100-
foreach ($partialTemplates as $src) {
101-
Handlebars::precompile($src, $options);
102-
}
103-
}
104-
105-
$elapsed = (hrtime(true) - $start) / 1e9;
106-
$compilePeakMB = memory_get_peak_usage() / 1024 / 1024;
107-
$perParse = $elapsed / $iterations * 1000;
10890
$php = Handlebars::precompile($template, $options);
10991
$codeBytes = strlen($php);
11092
$partials = [];
@@ -115,6 +97,10 @@
11597
$partials[$name] = Handlebars::template($code);
11698
}
11799

100+
$elapsed = (hrtime(true) - $start) / 1e9;
101+
$compilePeakMB = memory_get_peak_usage() / 1024 / 1024;
102+
$perParse = $elapsed / $iterations * 1000;
103+
118104
printf(
119105
"Compiled %d times | %.2f ms/compile | %6.1f KB code | %.1f MB peak\n",
120106
$iterations,
@@ -248,7 +234,9 @@
248234

249235
// Warm up
250236
for ($i = 0; $i < 50; $i++) {
237+
echo "Render $i...";
251238
$renderer($data, ['helpers' => $helpers, 'partials' => $partials]);
239+
echo "complete\n";
252240
}
253241

254242
memory_reset_peak_usage();

0 commit comments

Comments
 (0)