1. 25 Mar, 2020 1 commit
  2. 12 Mar, 2020 2 commits
  3. 01 Jan, 2020 2 commits
  4. 12 Dec, 2019 5 commits
  5. 09 Dec, 2019 1 commit
  6. 06 Dec, 2019 1 commit
    • Pádraig Ó Conbhuí's avatar
      Rattlehead: Use blocks instead of sliding window · 987211d8
      Pádraig Ó Conbhuí authored
      By replacing the sliding window with a set of fixed-width blocks,
      the total number of indirect includes for any given file is given an
      upper bound.
      The number of indirect dependencies per file should be independent of
      the number of files generated after passing a given size threshold,
      currently about 1000 files.
      
      Change Log:
      * Use blocks instead of sliding windows for dependency generation
        in rattlehead.
      * Add 8 MiB file I/O buffer in serial_dependency_calculation::write_includes.
      987211d8
  7. 23 Oct, 2019 2 commits
    • Pádraig Ó Conbhuí's avatar
      Add sliding window to Rattlehead dependencies · 22594523
      Pádraig Ó Conbhuí authored
      In rattlehead::random_project_dependency_graph, Rattlehead uses
      std::sample to generate a list of random, non-overlapping dependencies.
      This has a complexity linear in its input range.
      By limiting the input range, the complexity of std::sample is bounded.
      By adding a limit to the input range, this effectively adds a sliding
      window on the files considered for dependency by Rattlehead.
      
      With this fix, Rattlehead generates 1 million files in 5 minutes on
      a Macbook Pro.
      
      Randomizing the centre of the sliding window could work to further
      eliminate the apparent effect of a sliding window on the output.
      
      Doing something smarter than using std::sample to generate a
      non-repeating list of numbers in a bounded range would be even better.
      22594523
    • Pádraig Ó Conbhuí's avatar
      Add src/megadep/megadep.test.cpp · 7d49e481
      Pádraig Ó Conbhuí authored
      Add test which checks megadep::megadep correctly reads and processes the
      includes from a Rattlehead-generated project.
      
      Change Log:
      * Add explicit write_direct_includes and write_indirect_includes methods
        for MegadepPolicy in megadep::megadep.
      * Add rm_rf function in tests/src/utilities/rm_rf.hpp, which implements
        rm -rf. Replace manual file management in tests with rm_rf.
      * Move some console output from megadep::megadep to megadep.main.cpp.
      * Add megadep::librattlehead alias library
      7d49e481
  8. 21 Oct, 2019 1 commit
    • Pádraig Ó Conbhuí's avatar
      Add Rattlehead project · cb2de32a
      Pádraig Ó Conbhuí authored
      The Rattlehead project is intended to be used to test the correctness of
      Megadep, and to benchmark it in a fine-tunable manner.
      
      Rattlehead generates test project layouts with nested directories and
      acyclic dependencies between files.
      Project files contain #include directives to a number of other files in the
      project to create dependencies between files, suitable for consumption by
      Megadep.
      
      Rattlehead has been added in tests/src.
      cb2de32a
  9. 30 Aug, 2019 1 commit
    • Pádraig Ó Conbhuí's avatar
      Add Gitlab CI · 5b7c1c65
      Pádraig Ó Conbhuí authored
      Change Log:
      * Add .gitlab-ci.yml and CI scripts under tests/ci.
      * Add CI tests for lint.sh, format.sh, and unit tests
      * Fix missing headers
      * Drop CMake version to 3.13 for Ubuntu 19.04
      5b7c1c65
  10. 24 Aug, 2019 1 commit
  11. 21 Aug, 2019 1 commit
  12. 25 Jul, 2019 1 commit
  13. 24 Jul, 2019 1 commit
  14. 16 Jul, 2019 4 commits
  15. 15 Jul, 2019 2 commits
  16. 12 Jul, 2019 3 commits
  17. 11 Jul, 2019 1 commit
  18. 10 Jul, 2019 1 commit
  19. 09 Jul, 2019 1 commit
  20. 08 Jul, 2019 1 commit
  21. 02 Jul, 2019 4 commits
  22. 01 Jul, 2019 3 commits