Repository navigation
1.0.11
What's Changed
- feat: add support for colons in Handlebars tag names by @carlos-alberto in #8
- Fix escaped & unescaped behavior for function calls by @kayleegeorge in #10
- feat: allow tags to start with numeric characters by @carlos-alberto in #11
@first/@lastintroduced into the grammar- Introduce literal segment syntax into the grammar
- Introduced some simple loop unrolling for each blocks.
New Contributors
- @carlos-alberto made their first contribution in #8
- @kayleegeorge made their first contribution in #10
Full Changelog: 1.0.4...1.0.11
Benchmarks:
1M Iterations (WARM)
Handlebars Simple: 2055.39ms | 1.00x
Elastic Simple: 1323.21ms | 1.55x
JLE Interpreted Simple: 49.20ms | 41.78x
JLE Async Simple: 129.78ms | 15.84x
JLE Simple: 2.82ms | 727.74x
---
Handlebars SimpleEach: 2311.57ms | 1.00x
Elastic SimpleEach: 3401.28ms | 0.68x
JLE Interpreted SimpleEach: 338.29ms | 6.83x
JLE Async SimpleEach: 175.44ms | 13.18x
JLE SimpleEach: 61.48ms | 37.60x
---
Handlebars SimpleIf: 2199.07ms | 1.00x
Elastic SimpleIf: 1454.70ms | 1.51x
JLE Interpreted SimpleIf: 43.87ms | 50.13x
JLE Async SimpleIf: 122.63ms | 17.93x
JLE SimpleIf: 11.63ms | 189.10x
---
Handlebars SimpleIf (False): 2199.77ms | 1.00x
Elastic SimpleIf (False): 1423.60ms | 1.55x
JLE Interpreted SimpleIf (False): 46.83ms | 46.97x
JLE Async SimpleIf (False): 110.35ms | 19.93x
JLE SimpleIf (False): 11.53ms | 190.86x
---
Handlebars NestedIf: 2227.05ms | 1.00x
Elastic NestedIf: 1437.83ms | 1.55x
JLE Interpreted NestedIf: 121.01ms | 18.40x
JLE Async NestedIf: 120.43ms | 18.49x
JLE NestedIf: 12.62ms | 176.41x
---
Handlebars NestedIf (False): 2598.90ms | 1.00x
Elastic NestedIf (False): 2333.13ms | 1.11x
JLE Interpreted NestedIf (False): 196.61ms | 13.22x
JLE Async NestedIf (False): 117.42ms | 22.13x
JLE NestedIf (False): 15.77ms | 164.80x
---
Handlebars NestedIf (18): 2206.91ms | 1.00x
Elastic NestedIf (18): 1431.45ms | 1.54x
JLE Interpreted NestedIf (18): 115.86ms | 19.05x
JLE Async NestedIf (18): 120.13ms | 18.37x
JLE NestedIf (18): 12.94ms | 170.51x
---
Handlebars EachStatic: 2624.24ms | 1.00x
Elastic EachStatic: 5310.24ms | 0.49x
JLE Interpreted EachStatic: 19.42ms | 135.15x
JLE Async EachStatic: 109.12ms | 24.05x
JLE EachStatic: 9.56ms | 274.58x
---
Handlebars AddExampleWithTraversal: 4097.83ms | 1.00x
Elastic AddExampleWithTraversal: 6398.32ms | 0.64x
JLE Interpreted AddExampleWithTraversal: 537.32ms | 7.63x
JLE Async AddExampleWithTraversal: 319.49ms | 12.83x
JLE AddExampleWithTraversal: 155.07ms | 26.42x
---
Handlebars Example 1: 3402.84ms | 1.00x
Elastic Example 1: 13086.41ms | 0.26x
JLE Interpreted Example 1: 1234.33ms | 2.76x
JLE Async Example 1: 323.75ms | 10.51x
JLE Example 1: 213.50ms | 15.94x
---
Handlebars YAML: 7318.76ms | 1.00x
Elastic YAML: 20625.36ms | 0.35x
JLE Interpreted YAML: 1964.03ms | 3.73x
JLE Async YAML: 367.42ms | 19.92x
JLE YAML: 236.85ms | 30.90x
---
Handlebars Partials: 5149.34ms | 1.00x
Elastic Partials: 23772.33ms | 0.22x
JLE Interpreted Partials: 902.61ms | 5.70x
JLE Async Partials: 157.38ms | 32.72x
JLE Partials: 50.60ms | 101.78x
---
Handlebars First/Last: 8535.14ms | 1.00x
Elastic First/Last: 67699.65ms | 0.13x
JLE Interpreted First/Last: 5885.26ms | 1.45x
JLE Async First/Last: 1528.25ms | 5.58x
JLE First/Last: 1418.70ms | 6.02x
1 Iteration (COLD)
Handlebars Simple: 3.02ms | 1.00x
Elastic Simple: 0.92ms | 3.27x
JLE Interpreted Simple: 0.11ms | 28.78x
JLE Async Simple: 0.23ms | 13.39x
JLE Simple: 0.21ms | 14.25x
---
Handlebars SimpleEach: 1.14ms | 1.00x
Elastic SimpleEach: 0.31ms | 3.65x
JLE Interpreted SimpleEach: 0.29ms | 3.99x
JLE Async SimpleEach: 0.18ms | 6.47x
JLE SimpleEach: 0.38ms | 2.99x
---
Handlebars SimpleIf: 0.63ms | 1.00x
Elastic SimpleIf: 0.15ms | 4.20x
JLE Interpreted SimpleIf: 0.14ms | 4.64x
JLE Async SimpleIf: 0.19ms | 3.26x
JLE SimpleIf: 0.46ms | 1.37x
---
Handlebars SimpleIf (False): 0.36ms | 1.00x
Elastic SimpleIf (False): 0.15ms | 2.40x
JLE Interpreted SimpleIf (False): 0.04ms | 10.15x
JLE Async SimpleIf (False): 0.06ms | 6.45x
JLE SimpleIf (False): 0.11ms | 3.32x
---
Handlebars NestedIf: 0.80ms | 1.00x
Elastic NestedIf: 0.18ms | 4.45x
JLE Interpreted NestedIf: 0.11ms | 7.57x
JLE Async NestedIf: 0.16ms | 4.93x
JLE NestedIf: 0.21ms | 3.86x
---
Handlebars NestedIf (False): 0.87ms | 1.00x
Elastic NestedIf (False): 0.34ms | 2.58x
JLE Interpreted NestedIf (False): 0.13ms | 6.91x
JLE Async NestedIf (False): 0.38ms | 2.31x
JLE NestedIf (False): 0.17ms | 5.18x
---
Handlebars NestedIf (18): 0.48ms | 1.00x
Elastic NestedIf (18): 0.22ms | 2.22x
JLE Interpreted NestedIf (18): 0.08ms | 5.90x
JLE Async NestedIf (18): 0.10ms | 4.63x
JLE NestedIf (18): 0.13ms | 3.83x
---
Handlebars EachStatic: 0.31ms | 1.00x
Elastic EachStatic: 0.13ms | 2.35x
JLE Interpreted EachStatic: 0.15ms | 2.12x
JLE Async EachStatic: 0.46ms | 0.67x
JLE EachStatic: 0.29ms | 1.05x
---
Handlebars AddExampleWithTraversal: 0.50ms | 1.00x
Elastic AddExampleWithTraversal: 0.26ms | 1.95x
JLE Interpreted AddExampleWithTraversal: 0.12ms | 4.20x
JLE Async AddExampleWithTraversal: 0.20ms | 2.49x
JLE AddExampleWithTraversal: 0.35ms | 1.42x
---
Handlebars Example 1: 0.99ms | 1.00x
Elastic Example 1: 0.22ms | 4.51x
JLE Interpreted Example 1: 0.29ms | 3.37x
JLE Async Example 1: 0.35ms | 2.85x
JLE Example 1: 0.56ms | 1.76x
---
Handlebars YAML: 2.36ms | 1.00x
Elastic YAML: 0.73ms | 3.26x
JLE Interpreted YAML: 0.71ms | 3.32x
JLE Async YAML: 1.02ms | 2.31x
JLE YAML: 1.45ms | 1.63x
---
Handlebars Partials: 1.52ms | 1.00x
Elastic Partials: 0.31ms | 4.95x
JLE Interpreted Partials: 0.39ms | 3.91x
JLE Async Partials: 0.26ms | 5.96x
JLE Partials: 0.52ms | 2.91x
---
Handlebars First/Last: 0.44ms | 1.00x
Elastic First/Last: 0.29ms | 1.51x
JLE Interpreted First/Last: 0.12ms | 3.70x
JLE Async First/Last: 0.25ms | 1.79x
JLE First/Last: 0.29ms | 1.50x