Finalize benchmark test script - #302
Conversation
Using the current test suites, comparing Python v3 against MATLAB v3 won't work since the two suites are run with different nf_max, which the test scripts interprets as incompatible problem definitions.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #302 +/- ##
==========================================
+ Coverage 92.59% 93.20% +0.60%
==========================================
Files 106 106
Lines 5011 4975 -36
==========================================
- Hits 4640 4637 -3
+ Misses 371 338 -33 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This was done based on manually acquiring Python and MATLAB results with nf_max=500 and fixing up the Python code temporarily to align those two results such that the test script compares matched results. The logging is now more verbose and it's easier to judge if a difference is significant or not.
…bad. So log differences to help determine if it is bad.
mmenickelly
left a comment
There was a problem hiding this comment.
On a system that I anticipate actually using in the future (GCE), this script works as expected. Comparing two sets of benchmark results generated in sequence on the same machine by the same "extensive" benchmark test results in the benchmark test passing. Changing the data in one entry of the relevant data structure results in just that one comparison failing, resulting in an overall FAIL. This is exactly the behavior we expected.
My delay in this test was likely hardware-specific. My MacBook with an Intel chip was giving randomized results. Shockingly, the same test generated (at random) different comparisons failing when running the "extensive" benchmark test twice in a row. I could not diagnose this, and I am throwing away this MacBook at the end of the week (unrelated to this frustrating experience :-)). But since my testing is satisfactory on a machine I will continue to use, I will approve this PR.
This should get actions passing.
Synchronize feature branch
With these changes we should be able to compare MATLAB v3 against MATLAB v3 as well as Python v3 against v3. This should include using as references the original v3 benchmarks established for reviewing previous PRs.
While we are now able to create both MATLAB and Python v3 benchmarks, the comparison of those current benchmarks is not useful or interesting since the two sets of results are presently acquired with different
nf_maxvalues, which the script interprets as incompatible problem specifications. It will also fail to execute as expected because the integer valueXYZin the filename scheme_probXYZrefers to the row indfo.datand is 0-based in naming Python results; 1-based, for naming MATLAB results (ALL TO BE FIXED IN NEXT PR).PR Self-review
nf_maxnf_max=500for both, compare with test script, and confirm that they are reasonably and acceptably different.