]> Cypherpunks repositories - gostls13.git/commitdiff
html/template: micro optimization for isJSType
authorDong-hee Na <donghee.na92@gmail.com>
Tue, 14 May 2019 17:40:12 +0000 (02:40 +0900)
committerDaniel Martí <mvdan@mvdan.cc>
Tue, 27 Aug 2019 17:41:33 +0000 (17:41 +0000)
There is an unnecessary lower operation in isJSType.
Simple logic fix can improve tiny performance.

name        old time/op    new time/op    delta
isJSType-8     152ns ± 0%      58ns ± 7%   -61.82%  (p=0.001 n=6+8)

name        old alloc/op   new alloc/op   delta
isJSType-8     32.0B ± 0%      0.0B       -100.00%  (p=0.000 n=8+8)

name        old allocs/op  new allocs/op  delta
isJSType-8      1.00 ± 0%      0.00       -100.00%  (p=0.000 n=8+8)

Change-Id: I281aadf1677d4377920c9649af206381189a27e6
Reviewed-on: https://go-review.googlesource.com/c/go/+/177118
Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Daniel Martí <mvdan@mvdan.cc>
src/html/template/js.go

index 7025c1cfaac5786c9071eec08ddf4c97431b40e9..0e91458d19ce934a8d1393d4e320767c7f486d64 100644 (file)
@@ -383,11 +383,11 @@ func isJSType(mimeType string) bool {
        //   https://tools.ietf.org/html/rfc7231#section-3.1.1
        //   https://tools.ietf.org/html/rfc4329#section-3
        //   https://www.ietf.org/rfc/rfc4627.txt
-       mimeType = strings.ToLower(mimeType)
        // discard parameters
        if i := strings.Index(mimeType, ";"); i >= 0 {
                mimeType = mimeType[:i]
        }
+       mimeType = strings.ToLower(mimeType)
        mimeType = strings.TrimSpace(mimeType)
        switch mimeType {
        case