EPF C4 - Tomás Arjovsky - Week 15

These are the updates for the week of 2023/10/23.

Spec tests

I finished an improvement of spec test generation so that individual runners can be run faster, providing a 10x (or more at times) performance improvement.

Here's the PR for that feature.

The key change was that previously every test was generated in memory through metaprogramming, and this was done for every config, runner and handler, in compile time, regardless of what was being run. I changed that approach to one that used a static file generator, which generates one test module per combination of runner and config. This allows to:

  1. Generate files once to execute them an arbitrary amount of times.
  2. Avoid loading all test cases in memory.
  3. Only recompile affected runners each time, effectively removing a high amount of load from the compiler and, in consequence, the LSP and the linter.
Select a repo