When compiling SQLite, enable the SQLITE_OMIT_WAL compile-time option.
authorEvgeny Kotkov <[email protected]>
Tue, 20 Aug 2019 09:23:55 +0000 (20 09:23 +0000)
committerEvgeny Kotkov <[email protected]>
Tue, 20 Aug 2019 09:23:55 +0000 (20 09:23 +0000)
We don't use WAL (write-ahead logging) feature of SQLite, but just keeping it
enabled has a visible I/O performance penalty, because SQLite has to check if
the write-ahead log file is present on disk.  In a couple of my experiments,
disabling this feature resulted in a ~10% faster `svn st` on a large working
copy.

* subversion/libsvn_subr/sqlite3wrapper.c
  (): Define SQLITE_OMIT_WAL.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1865523 13f79535-47bb-0310-9956-ffa450edef68

subversion/libsvn_subr/sqlite3wrapper.c

index 750a8cd..ea090fe 100644 (file)
@@ -26,6 +26,7 @@
 #ifdef SVN_SQLITE_INLINE
 #  define SQLITE_OMIT_DEPRECATED 1
 #  define SQLITE_DEFAULT_MEMSTATUS 0
+#  define SQLITE_OMIT_WAL 1
 #  define SQLITE_API static
 #  if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)
 #    pragma GCC diagnostic ignored "-Wunreachable-code"