summaryrefslogtreecommitdiffstats
path: root/resources
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2022-09-23 13:54:09 +0200
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2022-09-23 16:19:21 +0200
commit5c41653364d7be01293819b08b0d3d7799d910f5 (patch)
treeffd8db1da07df327a0f0d4f8d0356891c5b7d405 /resources
parent281554ee97eb243af097611aaf6bfec8940ad6d1 (diff)
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 ```
Diffstat (limited to 'resources')
-rw-r--r--resources/resource_factories/create/create.go2
1 files changed, 1 insertions, 1 deletions
diff --git a/resources/resource_factories/create/create.go b/resources/resource_factories/create/create.go
index 508c141f6..075d25736 100644
--- a/resources/resource_factories/create/create.go
+++ b/resources/resource_factories/create/create.go
@@ -93,7 +93,7 @@ func (c *Client) GetMatch(pattern string) (resource.Resource, error) {
}
func (c *Client) match(name, pattern string, matchFunc func(r resource.Resource) bool, firstOnly bool) (resource.Resources, error) {
- pattern = glob.NormalizePathCaseSensitive(pattern)
+ pattern = glob.NormalizePath(pattern)
partitions := glob.FilterGlobParts(strings.Split(pattern, "/"))
if len(partitions) == 0 {
partitions = []string{resources.CACHE_OTHER}