summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2017-05-31 10:35:02 +0300
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2017-05-31 10:35:02 +0300
commitd74452cfe8f69a85ec83e05481e16bebf199a5cb (patch)
tree5c6196fdba2771043eacde8c145b26bfdd90a656
parent978951cf52b697f60f3ecfacf3322b460ff3abf9 (diff)
Add benchSite.sh
And change site benchmark separator to comma to make it Bash and regexp friendly, example: ./benchSite.sh "frontmatter=YAML,num_root_sections=1,num_pages=.*,tags_per_page=20,shortcodes=false,render=false"
-rwxr-xr-xbenchSite.sh9
-rw-r--r--hugolib/site_benchmark_test.go3
2 files changed, 11 insertions, 1 deletions
diff --git a/benchSite.sh b/benchSite.sh
new file mode 100755
index 000000000..c59453336
--- /dev/null
+++ b/benchSite.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+# Send in a regexp mathing the benchmarks you want to run, i.e. './benchSite.sh "frontmatter=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 \ No newline at end of file
diff --git a/hugolib/site_benchmark_test.go b/hugolib/site_benchmark_test.go
index e6df9f709..985bc8eef 100644
--- a/hugolib/site_benchmark_test.go
+++ b/hugolib/site_benchmark_test.go
@@ -33,7 +33,8 @@ type siteBuildingBenchmarkConfig struct {
}
func (s siteBuildingBenchmarkConfig) String() string {
- 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)
+ // 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)
}
func BenchmarkSiteBuilding(b *testing.B) {