diff options
Diffstat (limited to 'mobile/mobile_bench_test.go')
| -rw-r--r-- | mobile/mobile_bench_test.go | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/mobile/mobile_bench_test.go b/mobile/mobile_bench_test.go new file mode 100644 index 0000000..7e95744 --- /dev/null +++ b/mobile/mobile_bench_test.go @@ -0,0 +1,30 @@ +package mobile + +import "testing" + +// BenchmarkDaysWeek (mobile_test.go) already covers the OF 7-day view this +// perf fix targets -- see internal/readings/offline.go's offlineLoad, which +// currently re-stacks the calendar layers and re-parses the book table once +// per day inside the loop Days drives. The benchmarks below add the two +// comparisons that let that fix's win be measured: the same view in the +// traditional form (a different, larger embedded calendar layer), and a +// single Day call, the per-day unit of work Days repeats. + +// BenchmarkDays7EF is the 7-day view in the traditional (1962) form, whose +// calendar layer is a different embedded file (Tridentine vs Universal). +func BenchmarkDays7EF(b *testing.B) { + b.ReportAllocs() + for i := 0; i < b.N; i++ { + Days("2026-07-27", 7, "ef", "pl") + } +} + +// BenchmarkDay1 measures a single Day call, the unit of work Days repeats. +// Comparing this to BenchmarkDaysWeek/7 shows how much of each day's cost is +// the date-independent setup this fix hoists out. +func BenchmarkDay1(b *testing.B) { + b.ReportAllocs() + for i := 0; i < b.N; i++ { + Day("2026-07-27", "of", "vul", "pl") + } +} |
