Open
Description
Description
I noticed that parse times increase with query times more than I'd expect. I suspect that this has to do with the number of allocations happening during lexing/parsing as switching to jemalloc improved things ~15%. I'm not sure if it's something specific to this query or if any query of this size that sees the increase.
10 aliased fields
parser_peek_n time: [21.519 µs 21.535 µs 21.562 µs]
change: [-97.894% -97.891% -97.887%] (p = 0.00 < 0.05)
Performance has improved.
100 aliased fields
Gnuplot not found, using plotters backend
parser_peek_n time: [197.55 µs 197.71 µs 197.91 µs]
change: [+816.92% +818.31% +819.65%] (p = 0.00 < 0.05)
Performance has regressed.
1000 aliased fields
Gnuplot not found, using plotters backend
parser_peek_n time: [2.0601 ms 2.0618 ms 2.0636 ms]
change: [+940.25% +941.65% +943.08%] (p = 0.00 < 0.05)
Performance has regressed.
Steps to reproduce
- Parse a large query see example
Expected result
Parse time for large queries should grow more slowly.
Actual result
Every 10x increase in number of selections increases parse times by > 800%.
Environment
- Linux / Darwin
apollo-rs
apollo-parserrevision = HEAD