Skip to content

v0.19.15

Choose a tag to compare

@zalando-robot zalando-robot released this 16 Jan 14:47
d468a59

Changes

eskip: improve lexer performance (#2755)

  • eskip: use larger predicate for BenchmarkParsePredicates

  • eskip: optimize lexer performance

  • do not use fmt.Sprintf in ParseFilters and ParsePredicates

  • avoid allocations for fixed tokens

  • optimize scanWhile loop

  • add scanEscaped fast path

  • optimize scanRegexp and scanEscaped using strings.Builder

  • optimize scanWhitespace

  • optimize selectScanner using switch

goos: linux
goarch: amd64
pkg: github.com/zalando/skipper/eskip
cpu: Intel(R) Core(TM) i5-8350U CPU @ 1.70GHz
                  │   HEAD~1    │                HEAD                 │
                  │   sec/op    │   sec/op     vs base                │
ParsePredicates-8   29.88µ ± 3%   11.33µ ± 2%  -62.09% (p=0.000 n=10)

                  │    HEAD~1    │                 HEAD                 │
                  │     B/op     │     B/op      vs base                │
ParsePredicates-8   4.863Ki ± 0%   2.008Ki ± 0%  -58.71% (p=0.000 n=10)

                  │   HEAD~1    │                HEAD                │
                  │  allocs/op  │ allocs/op   vs base                │
ParsePredicates-8   198.00 ± 0%   33.00 ± 0%  -83.33% (p=0.000 n=10)

Multiarch Docker image

Multiarch Docker image is available in Github's docker registry:

docker run -it ghcr.io/zalando/skipper:v0.19.15 skipper --help

Docker image

Docker image is available in Zalando's Open Source registry:

docker run -it registry.opensource.zalan.do/teapot/skipper:v0.19.15 skipper --help