Skip to content

Conversation

@hossam26644
Copy link
Contributor

Updated the code to work with msprime 1.x syntax (sim_ancestry instead of simulate), assuming that benchmarking against msprime 0.x is not longer necessary.
Included time and memory tests for stop_at_local_mrca=False
updated the hashes list in the file, and included a line to run from a hashfile instead of just going all commits in order for an hour

@hossam26644 hossam26644 force-pushed the update_asv branch 2 times, most recently from c5e03c1 to 781aaaf Compare December 5, 2025 12:01
@codecov
Copy link

codecov bot commented Dec 5, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.22%. Comparing base (1b2f7fd) to head (508e808).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2437   +/-   ##
=======================================
  Coverage   91.22%   91.22%           
=======================================
  Files          20       20           
  Lines       11847    11847           
  Branches     2300     2300           
=======================================
  Hits        10807    10807           
  Misses        569      569           
  Partials      471      471           
Flag Coverage Δ
C 91.22% <ø> (ø)
python 98.63% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Member

@jeromekelleher jeromekelleher left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spotted some issues.

I was also hoping that we could do basically all of the benchmarks with an object-oriented approach, where we subclass like

class Hudson(LargeSimulationBenchmark):
     def _large_sample_size_params(self):
            return {"sample_size": 10**6, ...}
      def _run_large_sample_size(self):
             self.run(self._large_sample_size_params())
      def run(self, params):
             return msprime.sim_ancestry(**params)

class HudsonOverRoot(Hudson)
       def run(self, params):
             return msprime.sim_ancestry(**{stop_at_local_mrca=False, **params})

That way we'll get decent coverage on the performance implications (which are not obvious to me - it's a deep change).

@hossam26644
Copy link
Contributor Author

Very neat suggestion. I just took the liberty to propose a small structural change. Let me know what do you think.

Copy link
Member

@jeromekelleher jeromekelleher left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, just needs a squash

Fix issues

class based

proposed modification

updated commit hashes
@hossam26644
Copy link
Contributor Author

Ready now

@jeromekelleher jeromekelleher added this pull request to the merge queue Dec 9, 2025
Merged via the queue into tskit-dev:main with commit 32c658f Dec 9, 2025
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants