Skip to content
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

Use better-sqlite3 instead of sqlite3 for performance #100

Open
vicb opened this issue Sep 12, 2019 · 5 comments
Open

Use better-sqlite3 instead of sqlite3 for performance #100

vicb opened this issue Sep 12, 2019 · 5 comments

Comments

@vicb
Copy link
Contributor

vicb commented Sep 12, 2019

I have found better-sqlite3 to perform much better than sqlite3 on one of my project.

They advertise that speed and also have better docs.

If you are interested in switching, I could work on the PR, let me know.

Note: #96 might be related.

@jingsam
Copy link
Collaborator

jingsam commented Sep 17, 2019

This looks very promising. I would like to take a look. @springmeyer @kkaefer What do you think about it?

@vicb
Copy link
Contributor Author

vicb commented Sep 17, 2019 via email

@springmeyer
Copy link
Contributor

This seems like reasonable thing to consider. To approve the switch I'd want to see a benchmark written that replicates an important usecase of node-mbtiles and shows that the switch concretely improves performance (both increased speed and reduced memory usage). So the benchmark should be able to be run against both node-sqlite3 and better-sqlite3. We could each run that benchmark on a few different machines to ensure that the code is working well with better-sqlite3.

@springmeyer
Copy link
Contributor

OTOH I think sqlite3 comes pre-built.

Yes, node-sqlite3 provides pre-built binaries. Ideally better-sqlite3 would too. But that does not need to be a blocker for writing a benchmark to compare.

@jefbarn
Copy link

jefbarn commented Apr 12, 2021

warning @mapbox/mbtiles > sqlite3 > [email protected]: Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp package is deprecated and only the @mapbox scoped package will recieve updates in the future

Seems like the sqlite version this package is using is kind-of wrapped around the axle. Suggestions?

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

No branches or pull requests

4 participants