mirror of
https://github.com/gohugoio/hugo.git
synced 2025-08-15 20:44:01 +02:00
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
This commit is contained in:
@@ -311,7 +311,7 @@ func (i *imageResource) doWithImageConfig(conf images.ImageConfig, f func(src im
|
||||
})
|
||||
if err != nil {
|
||||
if i.root != nil && i.root.getFileInfo() != nil {
|
||||
return nil, errors.Wrapf(err, "image %q", i.root.getFileInfo().Meta().Filename())
|
||||
return nil, errors.Wrapf(err, "image %q", i.root.getFileInfo().Meta().Filename)
|
||||
}
|
||||
}
|
||||
return img, nil
|
||||
@@ -365,7 +365,7 @@ func (i *imageResource) getImageMetaCacheTargetPath() string {
|
||||
cfgHash := i.getSpec().imaging.Cfg.CfgHash
|
||||
df := i.getResourcePaths().relTargetDirFile
|
||||
if fi := i.getFileInfo(); fi != nil {
|
||||
df.dir = filepath.Dir(fi.Meta().Path())
|
||||
df.dir = filepath.Dir(fi.Meta().Path)
|
||||
}
|
||||
p1, _ := paths.FileAndExt(df.file)
|
||||
h, _ := i.hash()
|
||||
|
Reference in New Issue
Block a user