All publications

Genetic optimisation of C++ applications

2021·IEEE/ACM ASE 2021
std::list<T>std::vector<T>std::deque<T>genetic searchbuild · runreal workloadsmetricreductionCPUtimemem(a) container alleles(b) measured reductions

Figure 1: Container choice as a search space. Interchangeable data structures are swapped under genetic search (a); compiled variants are measured, and the dominated ones discarded (b).

C++ programs commit to containers early and revisit them never. This work automates the exploration: genetic search over interchangeable data-structure choices and their parameters, with each variant compiled, run, and measured on real workloads.

Across tested C++ libraries the search found notable reductions in CPU usage, runtime, and memory — headroom that had survived expert review precisely because no human systematically searches a space this large.

Key results

  • Notable CPU, runtime, and memory reductions on real C++ libraries
  • Fully automated explore–transform–measure loop
  • Published at IEEE/ACM ASE 2021