Index: third_party/sqlite/BUILD.gn |
diff --git a/third_party/sqlite/BUILD.gn b/third_party/sqlite/BUILD.gn |
index 0daa5ee69daa7ae7d4315a5298673759152791dd..76b92153f2292eeacdcfb864fe074e35af5c05c7 100644 |
--- a/third_party/sqlite/BUILD.gn |
+++ b/third_party/sqlite/BUILD.gn |
@@ -67,6 +67,13 @@ if (!use_system_sqlite) { |
# prefer to control distribution to worker threads. |
"SQLITE_MAX_WORKER_THREADS=0", |
+ # Allow 256MB mmap footprint per connection. Should not be too open-ended |
+ # as that could cause memory fragmentation. 50MB encompasses the 99th |
+ # percentile of Chrome databases in the wild. |
+ # TODO(shess): A 64-bit-specific value could be 1G or more. |
+ # TODO(shess): Figure out if exceeding this is costly. |
+ "SQLITE_MAX_MMAP_SIZE=268435456", |
+ |
# Use a read-only memory map when mmap'ed I/O is enabled to prevent memory |
# stompers from directly corrupting the database. |
# TODO(shess): Upstream the ability to use this define. |