Skip to content

perf: remove indirection overhead caused by iface usage#326

Merged
dkharms merged 1 commit intomainfrom
0-generic-sorting
Jan 26, 2026
Merged

perf: remove indirection overhead caused by iface usage#326
dkharms merged 1 commit intomainfrom
0-generic-sorting

Conversation

@dkharms
Copy link
Member

@dkharms dkharms commented Jan 24, 2026

Description

Return of the prodigal son (we've lost this change after tough battle with pull request conflicts resolving).


I got following results:

  • In a mixed scenario I observe decrease in CPU usage (on average) from 4.44 CPU to 4.30 CPU (4%) (grafana);
  • In a bulk scenario I observe decrease in CPU usage (on average) from 4.48 CPU to 4.33 CPU (4%) (grafana);

Although this change does not have a visible impact on bulk latency (in fact, the bulk latency in the comparison branch is lower by about 1 ms on average), that’s fine — LIDs are sorted in the background.


  • I have read and followed all requirements in CONTRIBUTING.md;
  • I used LLM/AI assistance to make this pull request;

If you have used LLM/AI assistance please provide model name and full prompt:

Model: {{model-name}}
Prompt: {{prompt}}

@dkharms dkharms self-assigned this Jan 24, 2026
@dkharms dkharms added the performance Features or improvements that positively affect seq-db performance label Jan 24, 2026
@dkharms
Copy link
Member Author

dkharms commented Jan 24, 2026

@seqbenchbot up main bulk

@seqbenchbot
Copy link

seqbenchbot commented Jan 24, 2026

Nice, @dkharms <(-^,^-)=b!

Your request was successfully served.
Identificator for your ongoing benchmark - f5bca65c.

Here is a list of helpful links:

  • Take a look at Grafana dashboard;
  • Live-tailing logs are also available;

Have a great time!

@codecov-commenter
Copy link

codecov-commenter commented Jan 24, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 71.61%. Comparing base (5b4cce1) to head (44c6b1b).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #326   +/-   ##
=======================================
  Coverage   71.61%   71.61%           
=======================================
  Files         204      204           
  Lines       14767    14760    -7     
=======================================
- Hits        10575    10570    -5     
+ Misses       3439     3437    -2     
  Partials      753      753           

☔ 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.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions
Copy link
Contributor

🔴 Performance Degradation

Some benchmarks have degraded compared to the previous run.
Click on Show table button to see full list of degraded benchmarks.

Show table
Name Previous Current Ratio Verdict
FindSequence_Random/tiny-4 e2e0db f30370
3467.75 MB/s 2281.10 MB/s 0.66 🔴
18.46 ns/op 28.06 ns/op 1.52 🔴
GenerateDocs-4 e2e0db f30370
950.70 ns/op 1060.00 ns/op 1.11 🔴
Indexer-4 e2e0db f30370
548625366.00 B/op 663891681.00 B/op 1.21 🔴
ProcessDocuments-4 e2e0db f30370
381.00 B/op 33188.00 B/op 87.11 🔴

@dkharms
Copy link
Member Author

dkharms commented Jan 24, 2026

@seqbenchbot down f5bca65c

@seqbenchbot
Copy link

seqbenchbot commented Jan 24, 2026

Nice, @dkharms <(-^,^-)=b!

Your request was successfully served.
The benchmark with identificator f5bca65c was stopped.

Have a great time!

@dkharms
Copy link
Member Author

dkharms commented Jan 24, 2026

@seqbenchbot up main bulk

@seqbenchbot
Copy link

seqbenchbot commented Jan 24, 2026

Nice, @dkharms <(-^,^-)=b!

Your request was successfully served.
Identificator for your ongoing benchmark - 613dd2bc.

Here is a list of helpful links:

  • Take a look at Grafana dashboard;
  • Live-tailing logs are also available;

Have a great time!

@github-actions
Copy link
Contributor

🔴 Performance Degradation

Some benchmarks have degraded compared to the previous run.
Click on Show table button to see full list of degraded benchmarks.

Show table
Name Previous Current Ratio Verdict
FindSequence_Random/small-4 e2e0db bbf750
5216.00 MB/s 2804.31 MB/s 0.54 🔴
49.08 ns/op 91.29 ns/op 1.86 🔴
FindSequence_Random/tiny-4 e2e0db bbf750
3467.75 MB/s 2282.51 MB/s 0.66 🔴
18.46 ns/op 28.04 ns/op 1.52 🔴
Indexer-4 e2e0db bbf750
548625366.00 B/op 651810811.00 B/op 1.19 🔴
ProcessDocuments-4 e2e0db bbf750
381.00 B/op 33446.00 B/op 87.78 🔴
4.00 allocs/op 5.00 allocs/op 1.25 🔴

@dkharms
Copy link
Member Author

dkharms commented Jan 24, 2026

@seqbenchbot down 613dd2bc

@seqbenchbot
Copy link

seqbenchbot commented Jan 24, 2026

Nice, @dkharms <(-^,^-)=b!

Your request was successfully served.
The benchmark with identificator 613dd2bc was stopped.

Have a great time!

@dkharms
Copy link
Member Author

dkharms commented Jan 24, 2026

@seqbenchbot up 0-generic-sorting bulk

@seqbenchbot
Copy link

seqbenchbot commented Jan 24, 2026

Nice, @dkharms <(-^,^-)=b!

Your request was successfully served.
Identificator for your ongoing benchmark - 24c3c0fa.

Here is a list of helpful links:

  • Take a look at Grafana dashboard;
  • Live-tailing logs are also available;

Have a great time!

@dkharms
Copy link
Member Author

dkharms commented Jan 24, 2026

@seqbenchbot down 24c3c0fa

@seqbenchbot
Copy link

seqbenchbot commented Jan 24, 2026

Nice, @dkharms <(-^,^-)=b!

Your request was successfully served.
The benchmark with identificator 24c3c0fa was stopped.

Have a great time!

@dkharms
Copy link
Member Author

dkharms commented Jan 24, 2026

@seqbenchbot up main bulk

@seqbenchbot
Copy link

seqbenchbot commented Jan 24, 2026

Nice, @dkharms <(-^,^-)=b!

Your request was successfully served.
Identificator for your ongoing benchmark - ce899c4b.

Here is a list of helpful links:

  • Take a look at Grafana dashboard;
  • Live-tailing logs are also available;

Have a great time!

@dkharms
Copy link
Member Author

dkharms commented Jan 24, 2026

@seqbenchbot down ce899c4b

@seqbenchbot
Copy link

seqbenchbot commented Jan 24, 2026

Nice, @dkharms <(-^,^-)=b!

Your request was successfully served.
The benchmark with identificator ce899c4b was stopped.

Have a great time!

@dkharms
Copy link
Member Author

dkharms commented Jan 24, 2026

@seqbenchbot up main mixed

@seqbenchbot
Copy link

seqbenchbot commented Jan 24, 2026

Nice, @dkharms <(-^,^-)=b!

Your request was successfully served.
Identificator for your ongoing benchmark - d9d26287.

Here is a list of helpful links:

  • Take a look at Grafana dashboard;
  • Live-tailing logs are also available;

Have a great time!

@dkharms
Copy link
Member Author

dkharms commented Jan 24, 2026

@seqbenchbot down d9d26287

@seqbenchbot
Copy link

seqbenchbot commented Jan 24, 2026

Nice, @dkharms <(-^,^-)=b!

Your request was successfully served.
The benchmark with identificator d9d26287 was stopped.

Have a great time!

@dkharms dkharms marked this pull request as ready for review January 24, 2026 18:58
@eguguchkin eguguchkin added this to the v0.66.0 milestone Jan 26, 2026
@dkharms dkharms force-pushed the 0-generic-sorting branch 2 times, most recently from 51f4e79 to 44c6b1b Compare January 26, 2026 16:23
@dkharms dkharms enabled auto-merge (squash) January 26, 2026 16:23
@dkharms dkharms merged commit 9d28c59 into main Jan 26, 2026
8 checks passed
@dkharms dkharms deleted the 0-generic-sorting branch January 26, 2026 16:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

performance Features or improvements that positively affect seq-db performance

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants