Bjørn Erik Pedersen
49a104309d
hugolib: Fix live-reload regression for add/removal of dirs
...
This reverts commit b5b6e81c02
.
That change breaks watching of new directories (new dirs, deleted dirs).
Reopens #3325
Fixes #3569
2017-06-07 22:11:15 +02:00
Bjørn Erik Pedersen
5be0448635
hugolib: Fix disablePathToLower regression
...
Fixes #3374
2017-06-06 09:15:42 +02:00
Bjørn Erik Pedersen
1f55cb767d
hugolib: Simplify some test loops
2017-06-06 08:43:33 +02:00
Bjørn Erik Pedersen
8aaec644a9
hugolib: Add test for no 404 in sitemap
...
Closes #3563
2017-06-06 08:09:25 +02:00
Peter Cossey
55c53ae9be
docs: Add thislittleduck.com to the showcase
2017-06-05 13:53:08 +02:00
Nathan Sharfi
e28d9aa42c
tpl: Add uniq function
2017-06-03 19:13:58 +02:00
Bjørn Erik Pedersen
46b4607828
hugolib: Remove some superflous TODO comments
2017-06-03 17:32:47 +02:00
Bjørn Erik Pedersen
2c2ce33a39
parser: Add horizontal YAML tags to benchmark
2017-06-03 12:35:28 +02:00
jeremielondon
adc0572d29
docs: Add Nutspubcrawl.com to the showcase
2017-06-03 12:16:11 +02:00
Bjørn Erik Pedersen
0907a5c1c2
all: Temporarily revert to BurntSushi for TOML front matter handling
...
We still have go-toml as a transitive dependency, and it is the way to go eventually, but we care about speed, so let us wait that one out.
Note that the issue this fixes is about taxonomies, but I guess this is a general issue for sites with many pages that uses TOML as front matter.
```
benchmark old ns/op new ns/op delta
BenchmarkFrontmatterTags/TOML:1-4 23206 8543 -63.19%
BenchmarkFrontmatterTags/TOML:11-4 80117 18495 -76.92%
BenchmarkFrontmatterTags/TOML:21-4 140676 28727 -79.58%
benchmark old allocs new allocs delta
BenchmarkFrontmatterTags/TOML:1-4 173 60 -65.32%
BenchmarkFrontmatterTags/TOML:11-4 625 138 -77.92%
BenchmarkFrontmatterTags/TOML:21-4 1106 210 -81.01%
benchmark old bytes new bytes delta
BenchmarkFrontmatterTags/TOML:1-4 9231 2912 -68.45%
BenchmarkFrontmatterTags/TOML:11-4 19808 5184 -73.83%
BenchmarkFrontmatterTags/TOML:21-4 31200 7536 -75.85%
```
See #3541
Updates #3464
2017-06-03 09:22:57 +02:00
Bjørn Erik Pedersen
3d9c4f513b
parser: Add BenchmarkFrontmatterTags
...
The list handling is surprisingly expensive:
```
▶ go test -run="NONE" -bench="BenchmarkFrontmatterTags" -test.benchmem=true ./parser | prettybench
PASS
benchmark iter time/iter bytes alloc allocs
--------- ---- --------- ----------- ------
BenchmarkFrontmatterTags/JSON:1-4 1000000 2039.00 ns/op 912 B/op 20 allocs/op
BenchmarkFrontmatterTags/JSON:11-4 300000 5202.00 ns/op 1640 B/op 44 allocs/op
BenchmarkFrontmatterTags/JSON:21-4 200000 7993.00 ns/op 2392 B/op 65 allocs/op
BenchmarkFrontmatterTags/YAML:1-4 200000 9359.00 ns/op 5928 B/op 66 allocs/op
BenchmarkFrontmatterTags/YAML:11-4 100000 21218.00 ns/op 8408 B/op 140 allocs/op
BenchmarkFrontmatterTags/YAML:21-4 50000 32852.00 ns/op 10920 B/op 211 allocs/op
BenchmarkFrontmatterTags/TOML:1-4 100000 21505.00 ns/op 9231 B/op 173 allocs/op
BenchmarkFrontmatterTags/TOML:11-4 20000 82919.00 ns/op 19808 B/op 625 allocs/op
BenchmarkFrontmatterTags/TOML:21-4 10000 141847.00 ns/op 31200 B/op 1106 allocs/op
ok github.com/spf13/hugo/parser 17.890s
```
See #3464
2017-06-03 08:53:56 +02:00
Bjørn Erik Pedersen
250ebc1db5
hugolib: Add some more tags to benchmark
2017-06-02 18:40:10 +02:00
Bjørn Erik Pedersen
b37d959408
hugolib: Bump leaktest timeout to 30 seconds
...
To try to make it less flaky.
2017-06-02 16:50:44 +02:00
Bjørn Erik Pedersen
4e00bb7fdd
Write CPU and mem profiles from site benchmark script
2017-06-02 09:38:09 +02:00
Bjørn Erik Pedersen
fdcfccedcb
hugolib: Fix tag calculation in benchmark test
2017-06-02 09:13:45 +02:00
Bjørn Erik Pedersen
213ea74929
hugolib: Add number of tags as a benchmark know
2017-06-01 18:51:51 +02:00
Bjørn Erik Pedersen
08a10e5d14
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
```
2017-06-01 12:00:47 +02:00
Bjørn Erik Pedersen
9fa71c945e
hubolib: Add 10k pages as a benchmark variant
2017-05-31 14:48:49 +03:00
Bjørn Erik Pedersen
d25d89e653
hugolib: Increase leaktest timeout
...
To try to less flaky test.
2017-05-31 13:23:22 +03:00
Bjørn Erik Pedersen
8969701967
hugolib: Break early from sitemap disabled check
...
See #3544
2017-05-31 12:55:51 +03:00
Bjørn Erik Pedersen
69d92dc49c
hugolib: Respect disableKinds=["sitemap"]
...
Fixes #3544
2017-05-31 10:57:19 +03:00
Bjørn Erik Pedersen
d74452cfe8
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"
2017-05-31 10:35:02 +03:00
Bjørn Erik Pedersen
978951cf52
vendor: Update go-toml
...
Slightly better:
```
benchmark old ns/op new ns/op delta
BenchmarkSiteBuilding/frontmatter=TOML|num_root_sections=1|num_pages=1000|tags_per_page=20|shortcodes=false|render=false-4 204522447 200702508 -1.87%
benchmark old allocs new allocs delta
BenchmarkSiteBuilding/frontmatter=TOML|num_root_sections=1|num_pages=1000|tags_per_page=20|shortcodes=false|render=false-4 1943677 1784437 -8.19%
benchmark old bytes new bytes delta
BenchmarkSiteBuilding/frontmatter=TOML|num_root_sections=1|num_pages=1000|tags_per_page=20|shortcodes=false|render=false-4 102665182 100925773 -1.69%
```
2017-05-30 21:39:57 +03:00
Bjørn Erik Pedersen
4aff2b6e74
source: Cache language config
...
```
benchmark old ns/op new ns/op delta
BenchmarkSiteBuilding/frontmatter=YAML|num_root_sections=1|num_pages=5000|tags_per_page=0|shortcodes=false|render=false-4 552742744 501838152 -9.21%
benchmark old allocs new allocs delta
BenchmarkSiteBuilding/frontmatter=YAML|num_root_sections=1|num_pages=5000|tags_per_page=0|shortcodes=false|render=false-4 3047393 2957378 -2.95%
benchmark old bytes new bytes delta
BenchmarkSiteBuilding/frontmatter=YAML|num_root_sections=1|num_pages=5000|tags_per_page=0|shortcodes=false|render=false-4 356533864 354291924 -0.63%
```
2017-05-30 19:29:55 +03:00
Bjørn Erik Pedersen
2342df4d2d
hugolib: Add TOML/YAML switch to benchmark
2017-05-30 18:10:48 +03:00
Bjørn Erik Pedersen
828427ef52
hugolib: Adjust timeout for leaktest
2017-05-30 16:38:10 +03:00
Bjørn Erik Pedersen
ce624cc7d3
hugolib: Add slightly more realistic tag distribution to benchmark
2017-05-30 15:33:37 +03:00
Bjørn Erik Pedersen
8930e259d7
hugolib: Add site building benchmarks
...
To run a subset of these benchmark, one can do something like this:
```
go test -run="NONE" -bench="BenchmarkSiteBuilding/tags_per_page=0.*shortcodes=true.*render=false" -test.benchmem=true ./hugolib
```
Which will run without any tags, with shortcodes, but will skip rendering.
Fixes #3535
2017-05-30 14:30:30 +03:00
Albert Nigmatzianov
710300cb76
docs: Update overview/usage
2017-05-28 12:10:16 +02:00
Bjørn Erik Pedersen
93cab620d7
Update snapcraft.yaml
...
Bump to latest Go version.
2017-05-28 00:38:14 +03:00
Bjørn Erik Pedersen
19de4476d8
hubolib: Remove the regular page restriction from .Site.GetPage
...
See #2844
2017-05-26 21:31:45 +03:00
Bryan Klein
37e378773f
docs: Fix parameter name in YouTube shortcode section
...
Since 'autostart' is not the correct name of the parameter, I changed the words to make this section more clear.
2017-05-26 15:05:19 +03:00
Bjørn Erik Pedersen
b5b41c4468
hugolib: Refine allKindsInPages
2017-05-26 10:51:17 +03:00
Bjørn Erik Pedersen
bde807bd1e
travis: Update Go versions
2017-05-26 10:49:40 +03:00
Bjørn Erik Pedersen
612f6e3afe
hugolib: Fix ref/relref issue with duplicate base filenames
...
This commit also makes that function 80x faster.
Fixes #2507
2017-05-26 10:42:45 +03:00
Bjørn Erik Pedersen
50d11138f3
hugolib: Add a cache to GetPage
...
Looks to be slightly slower with the low number of section pages, but the 1000 regular pages seem to add value.
```
benchmark old ns/op new ns/op delta
BenchmarkGetPage-4 97.7 145 +48.41%
BenchmarkGetPageRegular-4 7933 161 -97.97%
benchmark old allocs new allocs delta
BenchmarkGetPage-4 0 0 +0.00%
BenchmarkGetPageRegular-4 0 0 +0.00%
benchmark old bytes new bytes delta
BenchmarkGetPage-4 0 0 +0.00%
BenchmarkGetPageRegular-4 0 0 +0.00%
```
2017-05-26 10:42:45 +03:00
Bjørn Erik Pedersen
e0c2e79820
hugolib: Support regular pages in .Site.GetPage
...
Fixes #2844
2017-05-26 10:42:45 +03:00
Bjørn Erik Pedersen
87203139c3
cache: Add a simple partitioned lazy cache
2017-05-26 10:42:45 +03:00
Mahmud Ridwan
a91c2705c7
docs: Add furqansoftware.com to the showcase
2017-05-25 14:32:47 +02:00
Albert Nigmatzianov
99412bfe45
docs: Delete brew update
from docs
...
Fix #3518
2017-05-25 13:31:38 +02:00
Albert Nigmatzianov
421a46947a
cmd: Replace flagChanged with pflag.FlagSet.Changed
2017-05-24 10:51:51 +02:00
Chankey Pathak
0a40cb43ea
docs: Add tutswiki.com to the showcase
2017-05-23 20:39:10 +02:00
Bjørn Erik Pedersen
d460159a5f
docs: Regenerate commands docs
...
Closes #3400
2017-05-23 21:01:51 +03:00
Bjørn Erik Pedersen
8b49c3a175
hugolib: Enable leaktest
...
See #3082
2017-05-23 20:40:20 +03:00
Bjørn Erik Pedersen
bcd32f1086
commands: Remove the rlimit tweaking on macOS
...
Fixes #3512
2017-05-23 18:52:00 +03:00
Bjørn Erik Pedersen
62fe640d09
vendor: Update libs
2017-05-23 18:02:36 +03:00
Bjørn Erik Pedersen
fbb78b89df
hugolib: Speed up GetPage
...
When we know to look into the index pages collection, do that:
```
benchmark old ns/op new ns/op delta
BenchmarkGetPage-4 51483 7072 -86.26%
benchmark old allocs new allocs delta
BenchmarkGetPage-4 71 71 +0.00%
benchmark old bytes new bytes delta
BenchmarkGetPage-4 2648 2648 +0.00%
```
This commit also returns an error if .Site.GetPage is called with the regular Page Kind, as that is currently not supported.
Fixes #3503
2017-05-23 15:18:26 +03:00
Bjørn Erik Pedersen
6c560288a6
hugolib: Add BenchmarkGetPage
2017-05-23 12:10:15 +03:00
Bjørn Erik Pedersen
89b85aede1
releaser: Disable flaky test
2017-05-22 23:23:52 +03:00
Cameron Moore
4113693ac1
tpl/cast: Handle template.HTML and friends in ToInt
...
Also add tests for ToInt and ToString.
Resolves #3308
2017-05-22 23:20:53 +03:00