With the warm JIT benchmark, all benchmark cycles are run in the same thread. This allows the JIT compiler to heavily optimize the parsers, simulating parsing very many files at once, but can also lead to over-optimizing for parsing a specific file.
With the cold JIT benchmark, we start a new thread (Web Worker) for every benchmark cycle, to simulate parsing a single file for the first time.
In both cases, the reported times only include parsing the listed files, not loading and executing the parser's script file.
Every parser produces the syntax tree with location marking in every syntax node.
Time measurement is carried out using Benchmark.js.