mirror of
https://github.com/gohugoio/hugo.git
synced 2025-04-28 14:40:43 +03: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:
parent
f27e542442
commit
022c479551
44 changed files with 434 additions and 451 deletions
|
@ -80,12 +80,12 @@ func Pack(fs afero.Fs, fis []hugofs.FileMetaInfo) error {
|
|||
}
|
||||
|
||||
meta := fi.(hugofs.FileMetaInfo).Meta()
|
||||
masterFilename := meta.Filename()
|
||||
masterFilename := meta.Filename
|
||||
f, err := meta.Open()
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "npm pack: failed to open package file")
|
||||
}
|
||||
b = newPackageBuilder(meta.Module(), f)
|
||||
b = newPackageBuilder(meta.Module, f)
|
||||
f.Close()
|
||||
|
||||
for _, fi := range fis {
|
||||
|
@ -100,7 +100,7 @@ func Pack(fs afero.Fs, fis []hugofs.FileMetaInfo) error {
|
|||
|
||||
meta := fi.(hugofs.FileMetaInfo).Meta()
|
||||
|
||||
if meta.Filename() == masterFilename {
|
||||
if meta.Filename == masterFilename {
|
||||
continue
|
||||
}
|
||||
|
||||
|
@ -108,7 +108,7 @@ func Pack(fs afero.Fs, fis []hugofs.FileMetaInfo) error {
|
|||
if err != nil {
|
||||
return errors.Wrap(err, "npm pack: failed to open package file")
|
||||
}
|
||||
b.Add(meta.Module(), f)
|
||||
b.Add(meta.Module, f)
|
||||
f.Close()
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue