mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-21 20:46:30 -05: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) {
|
func (h Highlighter) Highlight(code, lang, optsStr string) (string, error) {
|
||||||
|
if optsStr == "" {
|
||||||
|
return highlight(code, lang, h.cfg)
|
||||||
|
}
|
||||||
|
|
||||||
cfg := h.cfg
|
cfg := h.cfg
|
||||||
if optsStr != "" {
|
|
||||||
if err := applyOptionsFromString(optsStr, &cfg); err != nil {
|
if err := applyOptionsFromString(optsStr, &cfg); err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
}
|
|
||||||
return highlight(code, lang, cfg)
|
return highlight(code, lang, cfg)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue