mirror of
https://github.com/prometheus/prometheus.git
synced 2024-11-10 07:34:04 -08:00
ac3932ea35
Before this commit, the PromQL parser ran in two goroutines: * The lexer goroutine that splits the input into tokens and sent them over a channel to * the parser goroutine which produces the abstract syntax tree The Problem with this approach is that the parser spends more time on goroutine creation and syncronisation than on actual parsing. This commit removes that concurrency and replaces the channel by a slice based buffer. Benchmarks show that this makes the up to 7 times faster than before. Signed-off-by: Tobias Guggenmos <tguggenm@redhat.com> |
||
---|---|---|
.. | ||
fuzz-data | ||
testdata | ||
ast.go | ||
bench_test.go | ||
engine.go | ||
engine_test.go | ||
functions.go | ||
functions_test.go | ||
fuzz.go | ||
lex.go | ||
lex_test.go | ||
parse.go | ||
parse_test.go | ||
printer.go | ||
printer_test.go | ||
promql_test.go | ||
quantile.go | ||
query_logger.go | ||
query_logger_test.go | ||
test.go | ||
test_test.go | ||
value.go |