memilio icon indicating copy to clipboard operation
memilio copied to clipboard

466 add delay in testing and planned migration

Open khoanguyen-dev opened this issue 1 year ago • 4 comments

Changes and Information

Please briefly list the changes made, additional Information and what the Reviewer should look out for:

  • Add a time range to each type of test that determines the time it takes until the result is ready. Also add a time of validity to each test type.
  • Save the test results of each individual test of the past.
  • Add a small struct that resembles a test result.
  • Add a migration plan for each person for a certain amount of time (specified in the parameter LookAheadTime).

Merge Request - Guideline Checklist

Please check our git workflow. Use the draft feature if the Pull Request is not yet ready to review.

Checks by code author

  • [X] Every addressed issue is linked (use the "Closes #ISSUE" keyword below)
  • [X] New code adheres to coding guidelines
  • [X] No large data files have been added (files should in sum not exceed 100 KB, avoid PDFs, Word docs, etc.)
  • [X] Tests are added for new functionality and a local test run was successful
  • [X] Appropriate documentation for new functionality has been added (Doxygen in the code and Markdown files if necessary)
  • [X] Proper attention to licenses, especially no new third-party software with conflicting license has been added
  • [ ] (For ABM development) Checked benchmark results

Checks by code reviewer(s)

  • [ ] Corresponding issue(s) is/are linked and addressed
  • [ ] Code is clean of development artifacts (no deactivated or commented code lines, no debugging printouts, etc.)
  • [ ] Appropriate unit tests have been added, CI passes and code coverage is acceptable (did not decrease)
  • [ ] No large data files added in the whole history of commits(files should in sum not exceed 100 KB, avoid PDFs, Word docs, etc.)

closes https://github.com/SciCompMod/memilio/issues/466

khoanguyen-dev avatar Dec 11 '23 10:12 khoanguyen-dev

Please remember to account for the benchmark, as testing is really computationally extensive :-D

xsaschako avatar Jan 04 '24 13:01 xsaschako

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 96.42%. Comparing base (8889b81) to head (c0f443e). Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #866      +/-   ##
==========================================
+ Coverage   96.14%   96.42%   +0.28%     
==========================================
  Files         131      132       +1     
  Lines       11049    11061      +12     
==========================================
+ Hits        10623    10666      +43     
+ Misses        426      395      -31     

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

codecov[bot] avatar Jan 05 '24 18:01 codecov[bot]

Basic functionality is implemented and is ready for review. However, the benchmark test is much slower than the main branch. Optimization is needed.

khoanguyen-dev avatar Jan 08 '24 14:01 khoanguyen-dev

Still 35% slower than the benchmark test so there's some room for optimization.

Benchmark Time CPU Iterations

abm_benchmark/abm_benchmark_50k 3736 ms 3729 ms 1 abm_benchmark/abm_benchmark_100k 7858 ms 7844 ms 1 abm_benchmark/abm_benchmark_200k 16137 ms 16119 ms 1


Benchmark Time CPU Iterations

abm_benchmark/abm_benchmark_50k 2162 ms 2156 ms 1 abm_benchmark/abm_benchmark_100k 4823 ms 4750 ms 1 abm_benchmark/abm_benchmark_200k 9604 ms 9561 ms 1

khoanguyen-dev avatar Feb 12 '24 14:02 khoanguyen-dev

Improved performance for the implementation with test results stored in the past.

Branch main:

Benchmark Time CPU Iterations

abm_benchmark/abm_benchmark_50k 2281 ms 2255 ms 1 abm_benchmark/abm_benchmark_100k 4908 ms 4619 ms 1 abm_benchmark/abm_benchmark_200k 9367 ms 9137 ms 1

Branch #866:

Benchmark Time CPU Iterations

abm_benchmark/abm_benchmark_50k 2391 ms 2367 ms 1 abm_benchmark/abm_benchmark_100k 4767 ms 4741 ms 1 abm_benchmark/abm_benchmark_200k 9543 ms 9484 ms 1

khoanguyen-dev avatar Jul 29 '24 12:07 khoanguyen-dev

Apparently, there have been a lot of outdated comments that I made earlier. Please check if they are still valid and just resolve them if they are outdated.

DavidKerkmann avatar Aug 01 '24 07:08 DavidKerkmann