]> git.maquefel.me Git - brevno-suite/hugo/commit
Consolidate the glob case logic
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Fri, 23 Sep 2022 11:54:09 +0000 (13:54 +0200)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Fri, 23 Sep 2022 14:19:21 +0000 (16:19 +0200)
commit5c41653364d7be01293819b08b0d3d7799d910f5
treeffd8db1da07df327a0f0d4f8d0356891c5b7d405
parent281554ee97eb243af097611aaf6bfec8940ad6d1
Consolidate the glob case logic

Looking at the code as a whole, we ended up with a little to much "buttons". It turns out that doing case insensitive matching (lower both pattern and strings to match) performs just fine. Or at least, it
gives the penalty to the people who uses mixed case filenames.

```
GetGlob/Default_cache-10                          10.6ns ± 2%    10.6ns ± 1%   ~     (p=0.657 n=4+4)
GetGlob/Filenames_cache,_lowercase_searchs-10     10.6ns ± 2%    10.6ns ± 0%   ~     (p=1.000 n=4+4)
GetGlob/Filenames_cache,_mixed_case_searchs-10    29.7ns ± 1%    29.6ns ± 1%   ~     (p=0.886 n=4+4)
GetGlob/GetGlob-10                                13.7ns ± 1%    13.7ns ± 0%   ~     (p=0.429 n=4+4)

name                                            old alloc/op   new alloc/op   delta
GetGlob/Default_cache-10                           0.00B          0.00B        ~     (all equal)
GetGlob/Filenames_cache,_lowercase_searchs-10      0.00B          0.00B        ~     (all equal)
GetGlob/Filenames_cache,_mixed_case_searchs-10     5.00B ± 0%     5.00B ± 0%   ~     (all equal)
GetGlob/GetGlob-10                                 0.00B          0.00B        ~     (all equal)

name                                            old allocs/op  new allocs/op  delta
GetGlob/Default_cache-10                            0.00           0.00        ~     (all equal)
GetGlob/Filenames_cache,_lowercase_searchs-10       0.00           0.00        ~     (all equal)
GetGlob/Filenames_cache,_mixed_case_searchs-10      1.00 ± 0%      1.00 ± 0%   ~     (all equal)
GetGlob/GetGlob-10
```
hugofs/glob.go
hugofs/glob/filename_filter.go
hugofs/glob/filename_filter_test.go
hugofs/glob/glob.go
hugofs/glob/glob_test.go
hugofs/glob_test.go
resources/resource_factories/create/create.go