Skip to content

Conversation

MichaReiser
Copy link
Contributor

@MichaReiser MichaReiser commented Oct 9, 2025

This PR adds a benchmark for fixpoint iteration with multiple nested cycles to demonstrate the impact of #999

Test trace

Main

2025-10-09T13:19:05.699016Z  INFO salsa::function::execute: infer_definition(Id(0)): executing query
2025-10-09T13:19:05.699052Z  INFO salsa::function::execute: infer_use(Id(400)): executing query
2025-10-09T13:19:05.699061Z  INFO salsa::function::execute: infer_definition(Id(1)): executing query
2025-10-09T13:19:05.699069Z  INFO salsa::function::execute: infer_use(Id(401)): executing query
2025-10-09T13:19:05.699080Z  INFO salsa::function::execute: infer_definition(Id(2)): executing query
2025-10-09T13:19:05.699087Z  INFO salsa::function::execute: infer_use(Id(402)): executing query
2025-10-09T13:19:05.699102Z  INFO salsa::function::execute: infer_definition(Id(3)): executing query
2025-10-09T13:19:05.699110Z  INFO salsa::function::execute: infer_use(Id(403)): executing query
2025-10-09T13:19:05.699123Z  INFO salsa::function::execute: infer_definition(Id(4)): executing query
2025-10-09T13:19:05.699147Z  INFO salsa::function::execute: infer_definition(Id(3)): execute: iterate again...
2025-10-09T13:19:05.699161Z  INFO salsa::function::execute: infer_use(Id(403)): executing query
2025-10-09T13:19:05.699213Z  INFO salsa::function::execute: infer_definition(Id(1)): execute: iterate again...
2025-10-09T13:19:05.699225Z  INFO salsa::function::execute: infer_use(Id(401)): executing query
2025-10-09T13:19:05.699234Z  INFO salsa::function::execute: infer_definition(Id(2)): executing query
2025-10-09T13:19:05.699243Z  INFO salsa::function::execute: infer_use(Id(402)): executing query
2025-10-09T13:19:05.699252Z  INFO salsa::function::execute: infer_definition(Id(3)): executing query
2025-10-09T13:19:05.699259Z  INFO salsa::function::execute: infer_use(Id(403)): executing query
2025-10-09T13:19:05.699276Z  INFO salsa::function::execute: infer_definition(Id(3)): execute: iterate again...
2025-10-09T13:19:05.699284Z  INFO salsa::function::execute: infer_use(Id(403)): executing query
2025-10-09T13:19:05.699325Z  INFO salsa::function::execute: infer_definition(Id(2)): executing query
2025-10-09T13:19:05.699335Z  INFO salsa::function::execute: infer_use(Id(402)): executing query
2025-10-09T13:19:05.699348Z  INFO salsa::function::execute: infer_definition(Id(3)): executing query
2025-10-09T13:19:05.699359Z  INFO salsa::function::execute: infer_use(Id(403)): executing query
2025-10-09T13:19:05.699374Z  INFO salsa::function::execute: infer_definition(Id(3)): execute: iterate again...
2025-10-09T13:19:05.699382Z  INFO salsa::function::execute: infer_use(Id(403)): executing query
2025-10-09T13:19:05.699441Z  INFO salsa::function::execute: infer_definition(Id(0)): execute: iterate again...
2025-10-09T13:19:05.699449Z  INFO salsa::function::execute: infer_use(Id(400)): executing query
2025-10-09T13:19:05.699456Z  INFO salsa::function::execute: infer_definition(Id(1)): executing query
2025-10-09T13:19:05.699462Z  INFO salsa::function::execute: infer_use(Id(401)): executing query
2025-10-09T13:19:05.699470Z  INFO salsa::function::execute: infer_definition(Id(2)): executing query
2025-10-09T13:19:05.699476Z  INFO salsa::function::execute: infer_use(Id(402)): executing query
2025-10-09T13:19:05.699486Z  INFO salsa::function::execute: infer_definition(Id(3)): executing query
2025-10-09T13:19:05.699492Z  INFO salsa::function::execute: infer_use(Id(403)): executing query
2025-10-09T13:19:05.699561Z  INFO salsa::function::execute: infer_definition(Id(3)): execute: iterate again...
2025-10-09T13:19:05.699576Z  INFO salsa::function::execute: infer_use(Id(403)): executing query
2025-10-09T13:19:05.699625Z  INFO salsa::function::execute: infer_definition(Id(1)): execute: iterate again...
2025-10-09T13:19:05.699637Z  INFO salsa::function::execute: infer_use(Id(401)): executing query
2025-10-09T13:19:05.699647Z  INFO salsa::function::execute: infer_definition(Id(2)): executing query
2025-10-09T13:19:05.699655Z  INFO salsa::function::execute: infer_use(Id(402)): executing query
2025-10-09T13:19:05.699666Z  INFO salsa::function::execute: infer_definition(Id(3)): executing query
2025-10-09T13:19:05.699674Z  INFO salsa::function::execute: infer_use(Id(403)): executing query
2025-10-09T13:19:05.699691Z  INFO salsa::function::execute: infer_definition(Id(3)): execute: iterate again...
2025-10-09T13:19:05.699699Z  INFO salsa::function::execute: infer_use(Id(403)): executing query
2025-10-09T13:19:05.699741Z  INFO salsa::function::execute: infer_definition(Id(2)): executing query
2025-10-09T13:19:05.699752Z  INFO salsa::function::execute: infer_use(Id(402)): executing query
2025-10-09T13:19:05.699765Z  INFO salsa::function::execute: infer_definition(Id(3)): executing query
2025-10-09T13:19:05.699776Z  INFO salsa::function::execute: infer_use(Id(403)): executing query
2025-10-09T13:19:05.699792Z  INFO salsa::function::execute: infer_definition(Id(3)): execute: iterate again...
2025-10-09T13:19:05.699800Z  INFO salsa::function::execute: infer_use(Id(403)): executing query

#999

2025-10-09T13:19:41.853190Z  INFO salsa::function::execute: infer_definition(Id(0)): executing query
2025-10-09T13:19:41.853213Z  INFO salsa::function::execute: infer_use(Id(400)): executing query
2025-10-09T13:19:41.853232Z  INFO salsa::function::execute: infer_definition(Id(1)): executing query
2025-10-09T13:19:41.853239Z  INFO salsa::function::execute: infer_use(Id(401)): executing query
2025-10-09T13:19:41.853248Z  INFO salsa::function::execute: infer_definition(Id(2)): executing query
2025-10-09T13:19:41.853257Z  INFO salsa::function::execute: infer_use(Id(402)): executing query
2025-10-09T13:19:41.853269Z  INFO salsa::function::execute: infer_definition(Id(3)): executing query
2025-10-09T13:19:41.853277Z  INFO salsa::function::execute: infer_use(Id(403)): executing query
2025-10-09T13:19:41.853301Z  INFO salsa::function::execute: infer_definition(Id(4)): executing query
2025-10-09T13:19:41.853410Z  INFO salsa::function::execute: infer_definition(Id(0)): execute: iterate again (IterationCount(1))...
2025-10-09T13:19:41.853425Z  INFO salsa::function::execute: infer_use(Id(400)): executing query
2025-10-09T13:19:41.853431Z  INFO salsa::function::execute: infer_definition(Id(1)): executing query
2025-10-09T13:19:41.853440Z  INFO salsa::function::execute: infer_use(Id(401)): executing query
2025-10-09T13:19:41.853448Z  INFO salsa::function::execute: infer_definition(Id(2)): executing query
2025-10-09T13:19:41.853454Z  INFO salsa::function::execute: infer_use(Id(402)): executing query
2025-10-09T13:19:41.853464Z  INFO salsa::function::execute: infer_definition(Id(3)): executing query
2025-10-09T13:19:41.853472Z  INFO salsa::function::execute: infer_use(Id(403)): executing query

Copy link

netlify bot commented Oct 9, 2025

Deploy Preview for salsa-rs canceled.

Name Link
🔨 Latest commit 65c8ea4
🔍 Latest deploy log https://app.netlify.com/projects/salsa-rs/deploys/68e7c44afee8e5000883fc03

@MichaReiser MichaReiser force-pushed the nested-fixpoint-benchmark branch from 350c92c to 1b5f06b Compare October 9, 2025 13:22
Copy link

codspeed-hq bot commented Oct 9, 2025

CodSpeed Performance Report

Merging #1001 will improve performances by 7.05%

Comparing MichaReiser:nested-fixpoint-benchmark (65c8ea4) with master (adf0556)

Summary

⚡ 1 improvement
✅ 11 untouched
🆕 1 new

Benchmarks breakdown

Benchmark BASE HEAD Change
amortized[InternedInput] 2.2 µs 2.1 µs +7.05%
🆕 converge_diverge_nested N/A 200.7 µs N/A

@MichaReiser MichaReiser force-pushed the nested-fixpoint-benchmark branch 2 times, most recently from df1c07f to dbf7f2b Compare October 9, 2025 14:11
@MichaReiser MichaReiser force-pushed the nested-fixpoint-benchmark branch from dbf7f2b to 65c8ea4 Compare October 9, 2025 14:18
@MichaReiser MichaReiser enabled auto-merge October 9, 2025 14:22
@MichaReiser MichaReiser added this pull request to the merge queue Oct 9, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to no response for status checks Oct 9, 2025
@MichaReiser MichaReiser added this pull request to the merge queue Oct 9, 2025
Merged via the queue into salsa-rs:master with commit 8b0831f Oct 9, 2025
12 checks passed
@MichaReiser MichaReiser deleted the nested-fixpoint-benchmark branch October 9, 2025 15:54
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.

1 participant