1
0
Fork 0
hugo/common/maps
Bjørn Erik Pedersen 208a0de6c3 tpl: Add a partial lookup cache
````
                 │ stash.bench  │          perf-v146.bench           │
                 │    sec/op    │   sec/op     vs base               │
LookupPartial-10   248.00n ± 0%   14.75n ± 2%  -94.05% (p=0.002 n=6)

                 │ stash.bench │          perf-v146.bench          │
                 │    B/op     │   B/op     vs base                │
LookupPartial-10    48.00 ± 0%   0.00 ± 0%  -100.00% (p=0.002 n=6)

                 │ stash.bench │          perf-v146.bench           │
                 │  allocs/op  │ allocs/op   vs base                │
LookupPartial-10    3.000 ± 0%   0.000 ± 0%  -100.00% (p=0.002 n=6)
```

THe speedup above assumes reuse of the same partials over and over again, which I think is not uncommon.

This commits also adds some more lookup benchmarks. The current output of these on my MacBook looks decent:

```
BenchmarkLookupPagesLayout/Single_root-10                3031562               395.5 ns/op             0 B/op          0 allocs/op
BenchmarkLookupPagesLayout/Single_sub_folder-10          2515915               480.9 ns/op             0 B/op          0 allocs/op
BenchmarkLookupPartial-10                               84808112                14.13 ns/op            0 B/op          0 allocs/op
BenchmarkLookupShortcode/toplevelpage-10                 8111779               148.2 ns/op             0 B/op          0 allocs/op
BenchmarkLookupShortcode/nestedpage-10                   8088183               148.6 ns/op             0 B/op          0 allocs/op
```

Note that in the above the partial lookups are cahced, the others not (they are harder to cache because of the page path).

Closes #13571
2025-04-10 11:07:19 +02:00
..
cache.go tpl: Add a partial lookup cache 2025-04-10 11:07:19 +02:00
maps.go Add a HTTP cache for remote resources. 2024-06-04 16:07:39 +02:00
maps_test.go Fix "concurrent map iteration and map write" in pages from data 2025-01-30 19:57:09 +01:00
ordered.go Reimplement and simplify Hugo's template system 2025-04-06 20:59:41 +02:00
ordered_test.go Make cascade front matter order deterministic 2025-01-23 09:45:47 +01:00
params.go Fix "concurrent map iteration and map write" in pages from data 2025-01-30 19:57:09 +01:00
params_test.go all: Run gofumpt -l -w . 2024-01-28 23:14:09 +01:00
scratch.go Add site.Store and hugo.Store and Shortcode.Store 2024-11-13 12:41:16 +01:00
scratch_test.go all: Run modernize -fix ./... 2025-02-26 11:44:25 +01:00