mirror of
https://github.com/gohugoio/hugo.git
synced 2024-12-26 04:00:50 +00:00
highlight: Avoid making unnecessary allocation
Avoid creating a local copy of the highlight configuration when no options are passed. Benchmarks of building the docs site: name old time/op new time/op delta DocsSite-2 1.94s ± 4% 1.93s ± 4% ~ (p=0.841 n=5+5) name old alloc/op new alloc/op delta DocsSite-2 666MB ± 1% 656MB ± 0% -1.48% (p=0.008 n=5+5) name old allocs/op new allocs/op delta DocsSite-2 8.85M ± 0% 8.76M ± 0% -1.04% (p=0.029 n=4+4)
This commit is contained in:
parent
837e084bbe
commit
14bce18a6c
1 changed files with 8 additions and 5 deletions
|
@ -37,12 +37,15 @@ type Highlighter struct {
|
|||
}
|
||||
|
||||
func (h Highlighter) Highlight(code, lang, optsStr string) (string, error) {
|
||||
cfg := h.cfg
|
||||
if optsStr != "" {
|
||||
if err := applyOptionsFromString(optsStr, &cfg); err != nil {
|
||||
return "", err
|
||||
}
|
||||
if optsStr == "" {
|
||||
return highlight(code, lang, h.cfg)
|
||||
}
|
||||
|
||||
cfg := h.cfg
|
||||
if err := applyOptionsFromString(optsStr, &cfg); err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
return highlight(code, lang, cfg)
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue