mirror of
				https://github.com/gohugoio/hugo.git
				synced 2024-05-11 05:54:58 +00:00 
			
		
		
		
	resources/page: Use binary search in Pages.Prev/Next if possible
This is obviously much faster for lager data sets: ```bash name old time/op new time/op delta SearchPage/ByWeight-100-4 267ns ± 4% 272ns ± 5% ~ (p=0.457 n=4+4) SearchPage/ByWeight-5000-4 10.8µs ± 3% 1.2µs ± 2% -88.99% (p=0.029 n=4+4) SearchPage/ByWeight-10000-4 21.1µs ± 1% 1.4µs ±11% -93.28% (p=0.029 n=4+4) ``` See #4500
This commit is contained in:
		| @@ -63,7 +63,7 @@ func BenchmarkPagesPrevNext(b *testing.B) { | ||||
| 		Variant{"Pages.Shuffled.Prev", shufflePages, func(p page.Page, pages page.Pages) { pages.Prev(p) }}, | ||||
| 		Variant{"Pages.ByTitle.Next", func(pages page.Pages) page.Pages { return pages.ByTitle() }, func(p page.Page, pages page.Pages) { pages.Next(p) }}, | ||||
| 	} { | ||||
| 		for _, numPages := range []int{100, 300, 900, 5000} { | ||||
| 		for _, numPages := range []int{300, 5000} { | ||||
| 			b.Run(fmt.Sprintf("%s-pages-%d", variant.name, numPages), func(b *testing.B) { | ||||
| 				b.StopTimer() | ||||
| 				builder := newPagesPrevNextTestSite(b, numPages) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user