-
-
Notifications
You must be signed in to change notification settings - Fork 30.9k
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
Optimise SQLite builds on macOS and Windows #88017
Comments
We should apply some of the recommended "optimisation" compile-time options[1] to the SQLite builds for the macOS and Windows installers. The following options should be safe to apply:
I'm not sure about SQLITE_DEFAULT_WAL_SYNCHRONOUS=1. Quoting the SQLite docs: |
BTW, is SQLITE_WITHOUT_ZONEMALLOC still needed for macOS? |
I suggest applying the following safe options for the installers: # SQLITE_DEFAULT_MEMSTATUS # SQLITE_OMIT_DEPRECATED # SQLITE_OMIT_AUTOINIT I'll update the PR's. Berker, do you have any opinion about this? |
As noted in #25414 (comment), SQLITE_OMIT_DEPRECATED also leaves out PRAGMA's, which can break applications. I'll update the PR's to leave it out. |
As long as we don't introduce behavior changes between SQLite versions in mainstream Linux distributions and macOS/Windows (i.e. an application should continue working in Linux, macOS, Windows), it sounds good to me. Maybe it's worth checking what compile options Debian (and others) are using when packaging SQLite. |
Here's a list of the SQLite recommended compile-time options (only):
AFAICS, adding SQLITE_DEFAULT_MEMSTATUS=0 and SQLITE_OMIT_AUTOINIT is safe, as it only affects the C API that we use, and nothing else. |
Oh, well, SQLITE_DEFAULT_MEMSTATUS=0 does in fact affect PRAGMA soft_heap_limit. Looks like I'm left with only SQLITE_OMIT_AUTOINIT, then :) |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: