@@ -116,129 +116,133 @@ While encryption adds overhead, it provides quantum-resistant security for sensi
116116
117117** Last Updated:** 2025-11-15
118118
119+ #### Cache Size 64MB
120+
121+ | Node Version | Library | Setup (ms) | Insert/sec | Select/sec | Update/sec | Delete/sec | DB Size (MB) |
122+ | --------------| ---------| ------------| ------------| ------------| ------------| ------------| --------------|
123+ | v18.20.4 | better-sqlite3-multiple-ciphers | 76.1 | 12,330 | 26,946 | 21,278 | 155,836 | 3.98 |
124+ | v18.20.8 | better-sqlite3-multiple-ciphers | 95.4 | 10,887 | 14,862 | 19,226 | 102,575 | 3.98 |
125+ | v20.19.5 | better-sqlite3-multiple-ciphers | 93.8 | 11,800 | 14,306 | 22,213 | 136,874 | 3.98 |
126+ | v22.13.0 | better-sqlite3-multiple-ciphers | 86.7 | 12,778 | 19,765 | 23,104 | 134,608 | 3.98 |
127+ | v22.21.1 | better-sqlite3-multiple-ciphers | 103.1 | 10,389 | 16,285 | 20,021 | 100,644 | 3.98 |
128+ | v24.11.1 | better-sqlite3-multiple-ciphers | 106.8 | 9,385 | 10,502 | 15,585 | 79,170 | 3.98 |
129+ | v25.2.0 | better-sqlite3-multiple-ciphers | 97.8 | 9,848 | 15,344 | 18,032 | 87,176 | 3.98 |
130+
119131#### Forward Email Production
120132
121133| Node Version | Library | Setup (ms) | Insert/sec | Select/sec | Update/sec | Delete/sec | DB Size (MB) |
122134| --------------| ---------| ------------| ------------| ------------| ------------| ------------| --------------|
123135| v18.20.4 | better-sqlite3-multiple-ciphers | 238.6 | 11,778 | 26,632 | 21,163 | 124,347 | 3.98 |
124136| v18.20.8 | better-sqlite3-multiple-ciphers | 112.0 | 10,658 | 14,466 | 18,641 | 75,614 | 3.98 |
125- | v20.19.5 | better-sqlite3-multiple-ciphers | 124.2 | 9,715 | 14,018 | 18,485 | 55,885 | 3.98 |
137+ | v20.19.5 | better-sqlite3-multiple-ciphers | 129.3 | 11,377 | 13,829 | 16,026 | 73,524 | 3.98 |
126138| v22.13.0 | better-sqlite3-multiple-ciphers | 108.4 | 12,022 | 19,187 | 22,204 | 87,466 | 3.98 |
127139| v22.21.1 | better-sqlite3-multiple-ciphers | 125.8 | 9,829 | 15,833 | 18,416 | 8,120 | 3.98 |
128140| v24.11.1 | better-sqlite3-multiple-ciphers | 123.6 | 9,938 | 7,497 | 10,446 | 66,203 | 3.98 |
129141| v25.2.0 | better-sqlite3-multiple-ciphers | 113.1 | 9,032 | 15,189 | 17,763 | 53,723 | 3.98 |
130142
143+ #### Incremental Vacuum
144+
145+ | Node Version | Library | Setup (ms) | Insert/sec | Select/sec | Update/sec | Delete/sec | DB Size (MB) |
146+ | --------------| ---------| ------------| ------------| ------------| ------------| ------------| --------------|
147+ | v18.20.4 | better-sqlite3-multiple-ciphers | 78.2 | 12,034 | 27,226 | 21,070 | 108,601 | 4.13 |
148+ | v18.20.8 | better-sqlite3-multiple-ciphers | 98.0 | 10,516 | 11,737 | 19,863 | 115,660 | 4.13 |
149+ | v20.19.5 | better-sqlite3-multiple-ciphers | 96.7 | 11,858 | 13,914 | 22,164 | 128,750 | 4.13 |
150+ | v22.13.0 | better-sqlite3-multiple-ciphers | 91.1 | 12,533 | 19,258 | 22,819 | 136,724 | 4.13 |
151+ | v22.21.1 | better-sqlite3-multiple-ciphers | 97.5 | 10,690 | 13,274 | 19,033 | 91,988 | 4.13 |
152+ | v24.11.1 | better-sqlite3-multiple-ciphers | 96.9 | 10,628 | 16,821 | 19,934 | 117,509 | 4.13 |
153+ | v25.2.0 | better-sqlite3-multiple-ciphers | 100.6 | 9,695 | 13,826 | 17,858 | 86,573 | 4.13 |
154+
155+ #### MMAP 256MB
156+
157+ | Node Version | Library | Setup (ms) | Insert/sec | Select/sec | Update/sec | Delete/sec | DB Size (MB) |
158+ | --------------| ---------| ------------| ------------| ------------| ------------| ------------| --------------|
159+ | v18.20.4 | better-sqlite3-multiple-ciphers | 74.5 | 12,234 | 27,098 | 21,195 | 165,508 | 3.98 |
160+ | v18.20.8 | better-sqlite3-multiple-ciphers | 95.0 | 11,214 | 13,718 | 20,095 | 116,144 | 3.98 |
161+ | v20.19.5 | better-sqlite3-multiple-ciphers | 94.7 | 11,635 | 14,087 | 22,025 | 134,409 | 3.98 |
162+ | v22.13.0 | better-sqlite3-multiple-ciphers | 85.6 | 12,666 | 20,391 | 23,226 | 123,609 | 3.98 |
163+ | v22.21.1 | better-sqlite3-multiple-ciphers | 95.9 | 10,920 | 17,413 | 20,731 | 119,531 | 3.98 |
164+ | v24.11.1 | better-sqlite3-multiple-ciphers | 107.2 | 9,419 | 13,363 | 19,434 | 94,153 | 3.98 |
165+ | v25.2.0 | better-sqlite3-multiple-ciphers | 98.6 | 9,620 | 15,633 | 18,122 | 82,420 | 3.98 |
166+
131167#### Memory Temp Storage
132168
133169| Node Version | Library | Setup (ms) | Insert/sec | Select/sec | Update/sec | Delete/sec | DB Size (MB) |
134170| --------------| ---------| ------------| ------------| ------------| ------------| ------------| --------------|
135171| v18.20.4 | better-sqlite3-multiple-ciphers | 77.2 | 12,150 | 27,429 | 21,113 | 110,096 | 3.98 |
136172| v18.20.8 | better-sqlite3-multiple-ciphers | 96.4 | 10,854 | 14,868 | 19,547 | 111,882 | 3.98 |
137- | v20.19.5 | better-sqlite3-multiple-ciphers | 100.2 | 10,080 | 14,140 | 18,386 | 81,274 | 3.98 |
173+ | v20.19.5 | better-sqlite3-multiple-ciphers | 94.7 | 11,764 | 14,233 | 22,062 | 125,078 | 3.98 |
138174| v22.13.0 | better-sqlite3-multiple-ciphers | 97.1 | 10,971 | 19,857 | 22,588 | 121,581 | 3.98 |
139175| v22.21.1 | better-sqlite3-multiple-ciphers | 102.8 | 10,447 | 15,044 | 20,192 | 79,834 | 3.98 |
140176| v24.11.1 | better-sqlite3-multiple-ciphers | 118.3 | 8,792 | 12,608 | 16,794 | 81,281 | 3.98 |
141177| v25.2.0 | better-sqlite3-multiple-ciphers | 99.7 | 8,322 | 15,507 | 18,095 | 81,880 | 3.98 |
142178
143- #### Synchronous OFF (Unsafe)
179+ #### No Auto Vacuum
144180
145181| Node Version | Library | Setup (ms) | Insert/sec | Select/sec | Update/sec | Delete/sec | DB Size (MB) |
146182| --------------| ---------| ------------| ------------| ------------| ------------| ------------| --------------|
147- | v18.20.4 | better-sqlite3-multiple-ciphers | 101.0 | 13,275 | 27,223 | 23,768 | 151,906 | 3.98 |
148- | v18.20.8 | better-sqlite3-multiple-ciphers | 87.5 | 11,663 | 14,835 | 19,697 | 103,950 | 3.98 |
149- | v20.19.5 | better-sqlite3-multiple-ciphers | 90.4 | 10,487 | 14,160 | 18,817 | 83,105 | 3.98 |
150- | v22.13.0 | better-sqlite3-multiple-ciphers | 82.1 | 10,093 | 19,517 | 23,070 | 130,839 | 3.98 |
151- | v22.21.1 | better-sqlite3-multiple-ciphers | 87.5 | 11,260 | 17,239 | 20,120 | 105,966 | 3.98 |
152- | v24.11.1 | better-sqlite3-multiple-ciphers | 126.4 | 8,617 | 9,316 | 15,436 | 78,382 | 3.98 |
153- | v25.2.0 | better-sqlite3-multiple-ciphers | 98 .3 | 10,441 | 15,529 | 18,209 | 42,366 | 3.98 |
183+ | v18.20.4 | better-sqlite3-multiple-ciphers | 76.8 | 12,077 | 27,109 | 20,485 | 137,931 | 4.12 |
184+ | v18.20.8 | better-sqlite3-multiple-ciphers | 97.3 | 11,197 | 14,635 | 19,182 | 116,768 | 4.12 |
185+ | v20.19.5 | better-sqlite3-multiple-ciphers | 96.0 | 11,575 | 13,998 | 21,720 | 125,063 | 4.12 |
186+ | v22.13.0 | better-sqlite3-multiple-ciphers | 95.3 | 11,169 | 18,908 | 22,200 | 118,078 | 4.12 |
187+ | v22.21.1 | better-sqlite3-multiple-ciphers | 94.7 | 11,001 | 17,000 | 19,486 | 112,613 | 4.12 |
188+ | v24.11.1 | better-sqlite3-multiple-ciphers | 100.2 | 9,981 | 16,660 | 19,736 | 113,340 | 4.12 |
189+ | v25.2.0 | better-sqlite3-multiple-ciphers | 99 .3 | 9,757 | 14,620 | 17,738 | 78,162 | 4.12 |
154190
155191#### Synchronous EXTRA (Safe)
156192
157193| Node Version | Library | Setup (ms) | Insert/sec | Select/sec | Update/sec | Delete/sec | DB Size (MB) |
158194| --------------| ---------| ------------| ------------| ------------| ------------| ------------| --------------|
159195| v18.20.4 | better-sqlite3-multiple-ciphers | 77.5 | 8,884 | 26,936 | 12,477 | 162,153 | 3.98 |
160196| v18.20.8 | better-sqlite3-multiple-ciphers | 100.0 | 3,810 | 14,348 | 4,781 | 100,281 | 3.98 |
161- | v20.19.5 | better-sqlite3-multiple-ciphers | 105.5 | 2,760 | 13,780 | 3,152 | 66,273 | 3.98 |
197+ | v20.19.5 | better-sqlite3-multiple-ciphers | 97.2 | 3,240 | 13,691 | 3,848 | 101,958 | 3.98 |
162198| v22.13.0 | better-sqlite3-multiple-ciphers | 92.7 | 4,275 | 18,716 | 5,659 | 100,513 | 3.98 |
163199| v22.21.1 | better-sqlite3-multiple-ciphers | 96.7 | 4,638 | 17,081 | 5,734 | 101,523 | 3.98 |
164200| v24.11.1 | better-sqlite3-multiple-ciphers | 144.2 | 2,973 | 9,294 | 4,405 | 96,852 | 3.98 |
165201| v25.2.0 | better-sqlite3-multiple-ciphers | 101.7 | 2,725 | 15,114 | 3,346 | 74,766 | 3.98 |
166202
167- #### No Auto Vacuum
168-
169- | Node Version | Library | Setup (ms) | Insert/sec | Select/sec | Update/sec | Delete/sec | DB Size (MB) |
170- | --------------| ---------| ------------| ------------| ------------| ------------| ------------| --------------|
171- | v18.20.4 | better-sqlite3-multiple-ciphers | 76.8 | 12,077 | 27,109 | 20,485 | 137,931 | 4.12 |
172- | v18.20.8 | better-sqlite3-multiple-ciphers | 97.3 | 11,197 | 14,635 | 19,182 | 116,768 | 4.12 |
173- | v20.19.5 | better-sqlite3-multiple-ciphers | 101.3 | 10,065 | 14,092 | 18,570 | 80,295 | 4.12 |
174- | v22.13.0 | better-sqlite3-multiple-ciphers | 95.3 | 11,169 | 18,908 | 22,200 | 118,078 | 4.12 |
175- | v22.21.1 | better-sqlite3-multiple-ciphers | 94.7 | 11,001 | 17,000 | 19,486 | 112,613 | 4.12 |
176- | v24.11.1 | better-sqlite3-multiple-ciphers | 100.2 | 9,981 | 16,660 | 19,736 | 113,340 | 4.12 |
177- | v25.2.0 | better-sqlite3-multiple-ciphers | 99.3 | 9,757 | 14,620 | 17,738 | 78,162 | 4.12 |
178-
179- #### Incremental Vacuum
203+ #### Synchronous OFF (Unsafe)
180204
181205| Node Version | Library | Setup (ms) | Insert/sec | Select/sec | Update/sec | Delete/sec | DB Size (MB) |
182206| --------------| ---------| ------------| ------------| ------------| ------------| ------------| --------------|
183- | v18.20.4 | better-sqlite3-multiple-ciphers | 78.2 | 12,034 | 27,226 | 21,070 | 108,601 | 4.13 |
184- | v18.20.8 | better-sqlite3-multiple-ciphers | 98.0 | 10,516 | 11,737 | 19,863 | 115,660 | 4.13 |
185- | v20.19.5 | better-sqlite3-multiple-ciphers | 97.4 | 10,159 | 13,512 | 18,436 | 81,613 | 4.13 |
186- | v22.13.0 | better-sqlite3-multiple-ciphers | 91 .1 | 12,533 | 19,258 | 22,819 | 136,724 | 4.13 |
187- | v22.21.1 | better-sqlite3-multiple-ciphers | 97 .5 | 10,690 | 13,274 | 19,033 | 91,988 | 4.13 |
188- | v24.11.1 | better-sqlite3-multiple-ciphers | 96.9 | 10,628 | 16,821 | 19,934 | 117,509 | 4.13 |
189- | v25.2.0 | better-sqlite3-multiple-ciphers | 100.6 | 9,695 | 13,826 | 17,858 | 86,573 | 4.13 |
207+ | v18.20.4 | better-sqlite3-multiple-ciphers | 101.0 | 13,275 | 27,223 | 23,768 | 151,906 | 3.98 |
208+ | v18.20.8 | better-sqlite3-multiple-ciphers | 87.5 | 11,663 | 14,835 | 19,697 | 103,950 | 3.98 |
209+ | v20.19.5 | better-sqlite3-multiple-ciphers | 89.7 | 12,103 | 14,203 | 22,271 | 131,406 | 3.98 |
210+ | v22.13.0 | better-sqlite3-multiple-ciphers | 82 .1 | 10,093 | 19,517 | 23,070 | 130,839 | 3.98 |
211+ | v22.21.1 | better-sqlite3-multiple-ciphers | 87 .5 | 11,260 | 17,239 | 20,120 | 105,966 | 3.98 |
212+ | v24.11.1 | better-sqlite3-multiple-ciphers | 126.4 | 8,617 | 9,316 | 15,436 | 78,382 | 3.98 |
213+ | v25.2.0 | better-sqlite3-multiple-ciphers | 98.3 | 10,441 | 15,529 | 18,209 | 42,366 | 3.98 |
190214
191215#### WAL Autocheckpoint 1000
192216
193217| Node Version | Library | Setup (ms) | Insert/sec | Select/sec | Update/sec | Delete/sec | DB Size (MB) |
194218| --------------| ---------| ------------| ------------| ------------| ------------| ------------| --------------|
195219| v18.20.4 | better-sqlite3-multiple-ciphers | 77.0 | 12,166 | 27,033 | 21,289 | 137,155 | 3.98 |
196220| v18.20.8 | better-sqlite3-multiple-ciphers | 97.9 | 10,878 | 14,753 | 19,721 | 102,375 | 3.98 |
197- | v20.19.5 | better-sqlite3-multiple-ciphers | 96.5 | 10,337 | 14,063 | 18,638 | 88,098 | 3.98 |
221+ | v20.19.5 | better-sqlite3-multiple-ciphers | 95.2 | 11,910 | 14,330 | 21,876 | 120,656 | 3.98 |
198222| v22.13.0 | better-sqlite3-multiple-ciphers | 88.4 | 11,981 | 19,530 | 23,199 | 124,270 | 3.98 |
199223| v22.21.1 | better-sqlite3-multiple-ciphers | 96.6 | 11,008 | 15,630 | 19,202 | 99,039 | 3.98 |
200224| v24.11.1 | better-sqlite3-multiple-ciphers | 118.2 | 10,511 | 14,410 | 19,432 | 107,550 | 3.98 |
201225| v25.2.0 | better-sqlite3-multiple-ciphers | 99.7 | 9,608 | 14,918 | 18,115 | 83,598 | 3.98 |
202226
203- #### Cache Size 64MB
204-
205- | Node Version | Library | Setup (ms) | Insert/sec | Select/sec | Update/sec | Delete/sec | DB Size (MB) |
206- | --------------| ---------| ------------| ------------| ------------| ------------| ------------| --------------|
207- | v18.20.4 | better-sqlite3-multiple-ciphers | 76.1 | 12,330 | 26,946 | 21,278 | 155,836 | 3.98 |
208- | v18.20.8 | better-sqlite3-multiple-ciphers | 95.4 | 10,887 | 14,862 | 19,226 | 102,575 | 3.98 |
209- | v20.19.5 | better-sqlite3-multiple-ciphers | 94.2 | 10,262 | 14,179 | 18,360 | 86,423 | 3.98 |
210- | v22.13.0 | better-sqlite3-multiple-ciphers | 86.7 | 12,778 | 19,765 | 23,104 | 134,608 | 3.98 |
211- | v22.21.1 | better-sqlite3-multiple-ciphers | 103.1 | 10,389 | 16,285 | 20,021 | 100,644 | 3.98 |
212- | v24.11.1 | better-sqlite3-multiple-ciphers | 106.8 | 9,385 | 10,502 | 15,585 | 79,170 | 3.98 |
213- | v25.2.0 | better-sqlite3-multiple-ciphers | 97.8 | 9,848 | 15,344 | 18,032 | 87,176 | 3.98 |
214-
215- #### MMAP 256MB
216-
217- | Node Version | Library | Setup (ms) | Insert/sec | Select/sec | Update/sec | Delete/sec | DB Size (MB) |
218- | --------------| ---------| ------------| ------------| ------------| ------------| ------------| --------------|
219- | v18.20.4 | better-sqlite3-multiple-ciphers | 74.5 | 12,234 | 27,098 | 21,195 | 165,508 | 3.98 |
220- | v18.20.8 | better-sqlite3-multiple-ciphers | 95.0 | 11,214 | 13,718 | 20,095 | 116,144 | 3.98 |
221- | v20.19.5 | better-sqlite3-multiple-ciphers | 93.7 | 10,315 | 14,308 | 18,024 | 81,813 | 3.98 |
222- | v22.13.0 | better-sqlite3-multiple-ciphers | 85.6 | 12,666 | 20,391 | 23,226 | 123,609 | 3.98 |
223- | v22.21.1 | better-sqlite3-multiple-ciphers | 95.9 | 10,920 | 17,413 | 20,731 | 119,531 | 3.98 |
224- | v24.11.1 | better-sqlite3-multiple-ciphers | 107.2 | 9,419 | 13,363 | 19,434 | 94,153 | 3.98 |
225- | v25.2.0 | better-sqlite3-multiple-ciphers | 98.6 | 9,620 | 15,633 | 18,122 | 82,420 | 3.98 |
226-
227227#### better-sqlite3 (no encryption)
228228
229229| Node Version | Library | Setup (ms) | Insert/sec | Select/sec | Update/sec | Delete/sec | DB Size (MB) |
230230| --------------| ---------| ------------| ------------| ------------| ------------| ------------| --------------|
231231| v18.20.4 | better-sqlite3 | 227.7 | 25,149 | 23,360 | 60,954 | 157,903 | 3.98 |
232- | v20.19.5 | better-sqlite3 | 26.0 | 29,558 | 14,647 | 50,587 | 91,491 | 3.98 |
232+ | v18.20.8 | - | - | - | - | - | - | - |
233+ | v20.19.5 | better-sqlite3 | 21.2 | 42,286 | 14,430 | 79,679 | 130,327 | 3.98 |
233234| v22.13.0 | better-sqlite3 | 27.0 | 44,889 | 36,970 | 87,725 | 134,735 | 3.98 |
235+ | v22.21.1 | - | - | - | - | - | - | - |
236+ | v24.11.1 | - | - | - | - | - | - | - |
237+ | v25.2.0 | - | - | - | - | - | - | - |
234238
235239### Performance Comparison Summary
236240
237241| Node Version | Platform | Arch | Timestamp |
238242| --------------| ----------| ------| ----------|
239243| v18.20.4 | darwin | arm64 | 11/15/2025, 3:17:47 AM |
240244| v18.20.8 | linux | x64 | 11/14/2025, 1:45:57 PM |
241- | v20.19.5 | linux | x64 | 11/15/2025, 3:21:04 AM |
245+ | v20.19.5 | linux | x64 | 11/15/2025, 3:33:38 AM |
242246| v22.13.0 | linux | x64 | 11/15/2025, 3:02:58 AM |
243247| v22.21.1 | linux | x64 | 11/14/2025, 1:32:10 PM |
244248| v24.11.1 | linux | x64 | 11/14/2025, 1:33:38 PM |
0 commit comments