This repository was archived by the owner on Nov 8, 2021. It is now read-only.

Description
With all the planned features implemented, the next task is to find the optimal generator options for production use.
The program generator is highly configurable - I tried to minimize the amount of hardcoded options. See ProgramOptions.xml.
The goals are
- Average runtime around 5-8 ms per program on a fast CPU (Ryzen/Skylake).
- Lowest possible 99.9th percentile (ideally under 50 ms).
- Maximum complexity of the program.
- Maximum entropy of the program output
I propose to use a combination of the following:
- Manual optimization. This requires certain level of knowledge of Javascript and a lot of patience.
- Heuristic optimization, for example Genetic algorithm. Fitness function can be created to match the above goals by measuring the runtime and some sort of complexity rating of each program (for example cyclomatic complexity or Halstead complexity).