Code Generation

Talks about: , and

Code Generation: Measures how long it takes to read, parse, and generate 50, 25, and 10 repositories in various configurations.

# run code generation benchmark
$ mvn --projects yosql-benchmarks/yosql-benchmarks-codegen --also-make --activate-profiles benchmarks verify

The above command will execute the four configurations mentioned at the top of this page. Each configuration uses repositories that contain:

Comparing code to benchmark, we are expecting that generating any kind of logging statement takes slightly longer than not generating any logging statements at all. Amongst the logging implementation, no observable performance difference can be measured. In case you are concerned about the total time it takes YoSQL to generate code, disabling logging statements will make a difference, however the code generation process time can be measures in milliseconds even for very large sample sizes, thus you should probably look somewhere else to improve the total performance of your build. In order to avoid generating code altogether, consider creating repositories inside one module and depend on it in other modules.