tree: ca5ffac2001346364fbdaf8e9fc561742b71c882 [path history] [tgz]
  1. examples/
  2. example_algorithms.py
  3. flags.py
  4. flags_test.py
  5. flags_util.py
  6. generation.py
  7. generation_test.py
  8. genetic_algorithm.py
  9. hill_climb_best_neighbor.py
  10. iterative_elimination.py
  11. mock_task.py
  12. pipeline_process.py
  13. pipeline_process_test.py
  14. pipeline_worker.py
  15. pipeline_worker_test.py
  16. README.md
  17. steering.py
  18. steering_test.py
  19. task.py
  20. task_test.py
  21. testing_batch.py
bestflags/README.md

bestflags

There is a vast set of compiler flags that can be used to build Chrome for ChromeOS. This option space has not been explored before. This directory provides an infrastructure to build Chrome with certain flag combinations, test it, gather results and prepare a fresh batch of flags to repeat the process. The infrastructure supports plug-in modules that implement algorithms for searching in the N-Dimensional space of compiler flag combinations.

Currently, three different algorithms are built, namely genetic algorithm, hill climbing and negative flag iterative elimination. The module testing_batch.py contains the testing of these algorithms.

To run the script, type in python testing_batch.py.

For further information about the project, please refer to the design document at:

https://docs.google.com/a/google.com/document/d/19iE9rhszTWjISBpKJ3qK8uBCoUjs0o4etWDRkyEeUOw/

There is also a presentation slide available at:

https://docs.google.com/a/google.com/presentation/d/13rS9jALXffbP48YsF0-bsqovrVBfgzEud4e-XpavOdA/edit#slide=id.gf880fcd4_180