Skip to content

v0.13.0-rc2

@yosiat yosiat tagged this 07 May 19:34
For each expression we are creating "scope pool", which is object pool of scopes - with some extra magic.
By doing quick analysis on the node AST I know which tags and fields he requires. so we put only the required ones.
For example: "value" > 10, I fill only "value" from field or tag.

name                     old time/op    new time/op    delta
_T10_P500_AlertTask-4       139ms ± 2%     132ms ± 3%   -5.23%  (p=0.008
n=5+5)
_T10_P50000_AlertTask-4     14.6s ± 1%     13.3s ± 1%   -8.92%  (p=0.008
n=5+5)
_T1000_P500_AlertTask-4     13.8s ± 1%     13.1s ± 2%   -4.87%  (p=0.008
n=5+5)

name                     old alloc/op   new alloc/op   delta
_T10_P500_AlertTask-4      32.1MB ± 0%    25.9MB ± 0%  -19.52%  (p=0.008
n=5+5)
_T10_P50000_AlertTask-4    3.26GB ± 0%    2.62GB ± 0%  -19.78%  (p=0.008
n=5+5)
_T1000_P500_AlertTask-4    3.21GB ± 0%    2.61GB ± 0%  -18.71%  (p=0.008
n=5+5)

name                     old allocs/op  new allocs/op  delta
_T10_P500_AlertTask-4        406k ± 0%      333k ± 0%  -17.96%  (p=0.008
n=5+5)
_T10_P50000_AlertTask-4     41.4M ± 0%     34.0M ± 0%  -18.05%  (p=0.008
n=5+5)
_T1000_P500_AlertTask-4     40.2M ± 0%     33.1M ± 0%  -17.65%  (p=0.008
n=5+5)
Assets 2