diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2021-07-13 12:41:02 +0300 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2021-07-15 18:14:26 +0300 |
commit | 022c4795510306e08a4aba31504ca382d41c7fac (patch) | |
tree | d4c29f62038d0f336d90f32f46bc5b4f5c3ddc28 /hugolib/content_map_page.go | |
parent | f27e542442d19436f1428cc22bb03aca398d37a7 (diff) |
hugofs: Make FileMeta a struct
This commit started out investigating a `concurrent map read write` issue, ending by replacing the map with a struct.
This is easier to reason about, and it's more effective:
```
name old time/op new time/op delta
SiteNew/Regular_Deep_content_tree-16 71.5ms ± 3% 69.4ms ± 5% ~ (p=0.200 n=4+4)
name old alloc/op new alloc/op delta
SiteNew/Regular_Deep_content_tree-16 29.7MB ± 0% 27.9MB ± 0% -5.82% (p=0.029 n=4+4)
name old allocs/op new allocs/op delta
SiteNew/Regular_Deep_content_tree-16 313k ± 0% 303k ± 0% -3.35% (p=0.029 n=4+4)
```
See #8749
Diffstat (limited to 'hugolib/content_map_page.go')
-rw-r--r-- | hugolib/content_map_page.go | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/hugolib/content_map_page.go b/hugolib/content_map_page.go index 278d24766..698c96cff 100644 --- a/hugolib/content_map_page.go +++ b/hugolib/content_map_page.go @@ -117,7 +117,7 @@ func (m *pageMap) newPageFromContentNode(n *contentNode, parentBucket *pagesMapB return nil, err } - if n.fi.Meta().GetBool(walkIsRootFileMetaKey) { + if n.fi.Meta().IsRootFile { // Make sure that the bundle/section we start walking from is always // rendered. // This is only relevant in server fast render mode. @@ -249,7 +249,7 @@ func (m *pageMap) newResource(fim hugofs.FileMetaInfo, owner *pageState) (resour return meta.Open() } - target := strings.TrimPrefix(meta.Path(), owner.File().Dir()) + target := strings.TrimPrefix(meta.Path, owner.File().Dir()) return owner.s.ResourceSpec.New( resources.ResourceSourceDescriptor{ @@ -394,7 +394,7 @@ func (m *pageMap) assembleResources(s string, p *pageState, parentBucket *pagesM m.resources.WalkPrefix(s, func(s string, v interface{}) bool { n := v.(*contentNode) meta := n.fi.Meta() - classifier := meta.Classifier() + classifier := meta.Classifier var r resource.Resource switch classifier { case files.ContentClassContent: |