mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-21 20:46:30 -05:00
hubolib: Make the site benchmark output more compact
So you can do and get: ``` ▶ ./benchSite.sh "YAML,num_pages=10" Running with BenchmarkSiteBuilding/YAML,num_pages=10 BenchmarkSiteBuilding/YAML,num_pages=10-4 1000 1611261 ns/op 730749 B/op 6458 allocs/op PASS ok github.com/spf13/hugo/hugolib 8.168s ```
This commit is contained in:
parent
9fa71c945e
commit
08a10e5d14
2 changed files with 24 additions and 3 deletions
|
@ -1,9 +1,9 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Send in a regexp mathing the benchmarks you want to run, i.e. './benchSite.sh "frontmatter=YAML"'.
|
||||
# Send in a regexp mathing the benchmarks you want to run, i.e. './benchSite.sh "YAML"'.
|
||||
# Note the quotes, which will be needed for more complex expressions.
|
||||
# The above will run all variations, but only for front matter YAML.
|
||||
|
||||
echo "Running with BenchmarkSiteBuilding/${1}"
|
||||
|
||||
go test -run="NONE" -bench="BenchmarkSiteBuilding/${1}" -test.benchmem=true ./hugolib
|
||||
go test -run="NONE" -bench="BenchmarkSiteBuilding/${1}$" -test.benchmem=true ./hugolib
|
|
@ -34,7 +34,28 @@ type siteBuildingBenchmarkConfig struct {
|
|||
|
||||
func (s siteBuildingBenchmarkConfig) String() string {
|
||||
// Make it comma separated with no spaces, so it is both Bash and regexp friendly.
|
||||
return fmt.Sprintf("frontmatter=%s,num_root_sections=%d,num_pages=%d,tags_per_page=%d,shortcodes=%t,render=%t", s.Frontmatter, s.RootSections, s.NumPages, s.TagsPerPage, s.Shortcodes, s.Render)
|
||||
// To make it a short as possible, we only shows bools when enabled and ints when >= 0 (RootSections > 1)
|
||||
sep := ","
|
||||
id := s.Frontmatter + sep
|
||||
if s.RootSections > 1 {
|
||||
id += fmt.Sprintf("num_root_sections=%d%s", s.RootSections, sep)
|
||||
}
|
||||
id += fmt.Sprintf("num_pages=%d%s", s.NumPages, sep)
|
||||
|
||||
if s.TagsPerPage > 0 {
|
||||
id += fmt.Sprintf("tags_per_page=%d%s", s.TagsPerPage, sep)
|
||||
}
|
||||
|
||||
if s.Shortcodes {
|
||||
id += "shortcodes" + sep
|
||||
}
|
||||
|
||||
if s.Render {
|
||||
id += "render" + sep
|
||||
}
|
||||
|
||||
return strings.TrimSuffix(id, sep)
|
||||
|
||||
}
|
||||
|
||||
func BenchmarkSiteBuilding(b *testing.B) {
|
||||
|
|
Loading…
Reference in a new issue