Skip to content

refactor: separate statistic computation#411

Open
tristan-f-r wants to merge 71 commits intomainfrom
lazy-stats
Open

refactor: separate statistic computation#411
tristan-f-r wants to merge 71 commits intomainfrom
lazy-stats

Conversation

@tristan-f-r
Copy link
Collaborator

@tristan-f-r tristan-f-r commented Oct 10, 2025

We also make graph statistics lazy. Laziness isn't used in summary.py, but I assume that we'll have more computationally expensive graph statistics as SPRAS develops, especially when it can take long to compute for our larger graphs, so this also splits up statistic generation into different rules.

Most importantly, this allows us to re-use statistics by consuming specific statistics as input files, which is currently used in #431.

  • Depends on feat!: SPRAS revision #320 for the summary statistics test (integration testing over unit testing is now required since the heavy workflow lifting is done by Snakemake).

@tristan-f-r tristan-f-r added tuning Workflow-spanning algorithm tuning refactor Changes that don't actually improve anything except for code quality. labels Oct 10, 2025
@read-the-docs-community
Copy link

read-the-docs-community bot commented Oct 10, 2025

Documentation build overview

📚 spras | 🛠️ Build #31410371 | 📁 Comparing cf3c6a0 against latest (18f2cf8)


🔍 Preview build

Show files changed (4 files in total): 📝 4 modified | ➕ 0 added | ➖ 0 deleted
File Status
genindex.html 📝 modified
fordevs/spras.analysis.html 📝 modified
fordevs/spras.config.html 📝 modified
fordevs/spras.html 📝 modified

@ntalluri
Copy link
Collaborator

ntalluri commented Feb 5, 2026

Would you be able to explain what the goal and what the changes are of this PR in the top comment? Also why does this depend on SPRAS revision?

@tristan-f-r
Copy link
Collaborator Author

tristan-f-r commented Feb 5, 2026

I've edited the top comment to mention the heuristics PR 👍, though the motivation was already present.

As mentioned in the meeting and in the top-level comment, this depends on the integration testing part of the SPRAS revision and not the immutability section.

Copy link
Collaborator

@agitter agitter left a comment

Choose a reason for hiding this comment

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

I like the new design. I'm not confident I follow everything in spras/statistics.py correctly or how the testing updates intersect with #320.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

blocked-by-other-pr P-medium medium prirotity; this is needed for some external service or another PR refactor Changes that don't actually improve anything except for code quality. tuning Workflow-spanning algorithm tuning

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants