Closed hyanwong closed 7 months ago
[!WARNING]
Rate Limit Exceeded
@hyanwong has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 21 minutes and 26 seconds before requesting another review.
How to resolve this issue?
After the wait time has elapsed, a review can be triggered using the `@coderabbitai review` command as a PR comment. Alternatively, push new commits to this PR. We recommend that you space out your commits to avoid hitting the rate limit.How do rate limits work?
CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our [FAQ](https://coderabbit.ai/docs/faq) for further information.Commits
Files that changed from the base of the PR and between fd0b0c536bd73e7c92d84cbcde2218dc8a19b9f4 and ef6a13817e64d961e2c77ead64d46a70e4f0e59b.
The GeneticInheritanceGraphLibrary has undergone a transformation, focusing on optimization and efficiency. Key changes include the shift from dataclasses
to namedtuple
for better memory usage and performance, refinement of data handling and validation mechanisms across tables, and enhancements in test utilities for streamlined code testing. This update signifies a move towards more efficient data structures and streamlined codebase, reflecting a thoughtful reconsideration of the library's foundational elements.
Files | Change Summary |
---|---|
.../graph.py |
Shifted from dataclasses to namedtuple ; updated iedges property; modified Items and IEdge classes; redefined Node and Individual classes. |
.../tables.py |
Major restructuring; switched to namedtuple ; optimized data handling and validation. |
tests/conftest.py |
Streamlined code by replacing direct calls with add_iedge function. |
tests/gigutil.py , tests/test_gigutil.py |
Renamed and updated add_iedge ; adjusted make_diploids logic; fixed ie._asdict() usage. |
tests/test_graph.py , tests/test_tables.py |
Added new methods and tests; improved error handling and validation; optimized test assertions. |
π°β¨
In the library's heart, where data weaves and bends,
A rabbit hopped through, making amends.
Fromdataclasses
tonamedtuple
, it leapt,
Optimizing the code, so carefully kept.π In tests and tables, changes abound,
Efficiency and clarity, in leaps and bounds.
Celebrate the changes, for they're quite profound!
πΎπ«
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
Probably worth merging, as it actually cuts the number of lines down a little (even though it does make the simulations at the scale I am using about 1% slower. Given that using numpy arrays opens up the possibility of using number, I think we should just merge this.
This stores (most) table data in large memory-contiguous numpy arrays.
Ragged data such as the individuals.parents column and metadata are hacked into a separate array (and not really tested)
Summary by CodeRabbit