diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2016-08-17 13:41:48 +0200 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2016-09-14 10:57:39 +0200 |
commit | dd45e6d7e5406991d8df3a2f9ba4c7e5ae039c34 (patch) | |
tree | 0eaf4d028091ab7ee1c0997eb722442c0328c817 /hugolib/pagination_test.go | |
parent | 4abaec5c045e92ae5f8b3a2dc66606b080ef6ea5 (diff) |
Lazy calculate WordCount, ReadingTime and FuzzyWordCount
This avoids having to execute these expensive operations for sites not using these values.
This commit sums up a set of wordcounting and autosummary related performance improvements.
The effect of these kind of depends on what features your site use, but a benchmark from 4 Hugo sites in the wild shows promise:
```
benchmark old ns/op new ns/op delta
BenchmarkHugo-4 21293005843 20032857342 -5.92%
benchmark old allocs new allocs delta
BenchmarkHugo-4 65290922 65186032 -0.16%
benchmark old bytes new bytes delta
BenchmarkHugo-4 9771213416 9681866464 -0.91%
```
Closes #2378
Diffstat (limited to 'hugolib/pagination_test.go')
-rw-r--r-- | hugolib/pagination_test.go | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/hugolib/pagination_test.go b/hugolib/pagination_test.go index 6f85e91d3..786650469 100644 --- a/hugolib/pagination_test.go +++ b/hugolib/pagination_test.go @@ -55,7 +55,7 @@ func TestSplitPageGroups(t *testing.T) { // first group 10 in weight assert.Equal(t, 10, pg.Key) for _, p := range pg.Pages { - assert.True(t, p.FuzzyWordCount%2 == 0) // magic test + assert.True(t, p.fuzzyWordCount%2 == 0) // magic test } } } else { @@ -70,7 +70,7 @@ func TestSplitPageGroups(t *testing.T) { // last should have 5 in weight assert.Equal(t, 5, pg.Key) for _, p := range pg.Pages { - assert.True(t, p.FuzzyWordCount%2 != 0) // magic test + assert.True(t, p.fuzzyWordCount%2 != 0) // magic test } } } else { @@ -443,10 +443,10 @@ func TestPage(t *testing.T) { page21, _ := f2.page(1) page2Nil, _ := f2.page(3) - assert.Equal(t, 1, page11.FuzzyWordCount) + assert.Equal(t, 3, page11.fuzzyWordCount) assert.Nil(t, page1Nil) - assert.Equal(t, 1, page21.FuzzyWordCount) + assert.Equal(t, 3, page21.fuzzyWordCount) assert.Nil(t, page2Nil) } @@ -468,7 +468,7 @@ func createTestPages(num int) Pages { if i%2 == 0 { w = 10 } - pages[i].FuzzyWordCount = i + pages[i].fuzzyWordCount = i + 2 pages[i].Weight = w } |