-
-
Notifications
You must be signed in to change notification settings - Fork 34.5k
sqlite: create options benchmarks #61401
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
Review requested:
|
H4ad
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey, thanks for the PR.
I think it would be better to have another benchmark just to test the impact of these options, to keep the running time low instead of increasing the combinations of a single benchmark and raise the amount of time it takes to run.
023a548 to
a4fbd76
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sqlite/sqlite-prepare-select-all-options.js options="none" statement="SELECT * FROM foo LIMIT 1" tableSeedSize=100000 n=100000: 625,354.1693338023
sqlite/sqlite-prepare-select-all-options.js options="readBigInts" statement="SELECT * FROM foo LIMIT 1" tableSeedSize=100000 n=100000: 651,474.6640428221
sqlite/sqlite-prepare-select-all-options.js options="returnArrays" statement="SELECT * FROM foo LIMIT 1" tableSeedSize=100000 n=100000: 1,095,588.8328733796
sqlite/sqlite-prepare-select-all-options.js options="readBigInts|returnArrays" statement="SELECT * FROM foo LIMIT 1" tableSeedSize=100000 n=100000: 1,088,053.1610588299
sqlite/sqlite-prepare-select-all-options.js options="none" statement="SELECT * FROM foo LIMIT 100" tableSeedSize=100000 n=100000: 14,359.617245665962
sqlite/sqlite-prepare-select-all-options.js options="readBigInts" statement="SELECT * FROM foo LIMIT 100" tableSeedSize=100000 n=100000: 13,802.25789196257
sqlite/sqlite-prepare-select-all-options.js options="returnArrays" statement="SELECT * FROM foo LIMIT 100" tableSeedSize=100000 n=100000: 19,317.131041765566
sqlite/sqlite-prepare-select-all-options.js options="readBigInts|returnArrays" statement="SELECT * FROM foo LIMIT 100" tableSeedSize=100000 n=100000: 18,721.247377062915
sqlite/sqlite-prepare-select-get-options.js options="none" statement="SELECT * FROM foo LIMIT 1" tableSeedSize=100000 n=100000: 731,126.4549370758
sqlite/sqlite-prepare-select-get-options.js options="readBigInts" statement="SELECT * FROM foo LIMIT 1" tableSeedSize=100000 n=100000: 632,374.5304429398
sqlite/sqlite-prepare-select-get-options.js options="returnArrays" statement="SELECT * FROM foo LIMIT 1" tableSeedSize=100000 n=100000: 1,154,274.034351657
sqlite/sqlite-prepare-select-get-options.js options="readBigInts|returnArrays" statement="SELECT * FROM foo LIMIT 1" tableSeedSize=100000 n=100000: 1,219,418.389131724
Interesting to see the returnArrays option is the fastest one.
Since it's a benchmark for SQLite, /cc @nodejs/sqlite
Commit Queue failed- Loading data for nodejs/node/pull/61401 ✔ Done loading data for nodejs/node/pull/61401 ----------------------------------- PR info ------------------------------------ Title sqlite: create options benchmarks (#61401) Author Guilherme Araújo <[email protected]> (@araujogui) Branch araujogui:sqlite/benchmark-options -> nodejs:main Labels benchmark, author ready, sqlite Commits 4 - sqlite: create options benchmarks - sqlite: split benchmarks - sqlite: lint benchmarks - sqlite: unify benchmarks Committers 1 - Guilherme Araújo <[email protected]> PR-URL: https://github.com/nodejs/node/pull/61401 Reviewed-By: Vinícius Lourenço Claro Cardoso <[email protected]> ------------------------------ Generated metadata ------------------------------ PR-URL: https://github.com/nodejs/node/pull/61401 Reviewed-By: Vinícius Lourenço Claro Cardoso <[email protected]> -------------------------------------------------------------------------------- ℹ This PR was created on Fri, 16 Jan 2026 14:34:01 GMT ✔ Approvals: 1 ✔ - Vinícius Lourenço Claro Cardoso (@H4ad): https://github.com/nodejs/node/pull/61401#pullrequestreview-3679730178 ✘ This PR needs to wait 88 more hours to land (or 0 minutes if there is one more approval) ✔ Last GitHub CI successful ℹ Green GitHub CI is sufficient -------------------------------------------------------------------------------- ✔ Aborted `git node land` session in /home/runner/work/node/node/.ncuhttps://github.com/nodejs/node/actions/runs/21153949636 |
Adds an options config to the
sqlitebenchmarks to measure the performance impact of different database configurations.