]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Optimizations to btree.c save about 4.5 million CPU cycles:
authordrh <>
Sat, 8 Apr 2023 13:01:34 +0000 (13:01 +0000)
committerdrh <>
Sat, 8 Apr 2023 13:01:34 +0000 (13:01 +0000)
(1) Clone insertCell() into a separate insertCellFast() routine for
use by sqlite3BtreeInsert().  (2) Mark allocateSpace() as always-inline.
(3) Improved coalesence of adjacent free blocks in pageFreeArray().

FossilOrigin-Name: 5c12c400fe8eb4e86e14c69a6c34d0d78d9861e5d40a36c6a596a81c6dd65977

1  2 
manifest
manifest.uuid

diff --cc manifest
index 657c476a3738cecb056269c29fff6a6b2fed0889,8efcf81a61a24df0b65ba89d28e5298085acafc0..bf16d6cba45d1b0a3ca9fc0d82b0b9db84ebd961
+++ b/manifest
@@@ -1,5 -1,5 +1,5 @@@
- C Fix\sa\sproblem\scausing\sthe\srbu_exclusive_checkpoint=1\sto\sbe\signored\swith\szipvfs\sdatabases.
- D 2023-04-07T14:03:30.087
 -C Guard\sagainst\soversized\scells\sin\sthe\snewly\senhanced\spageFreeArray().
 -D 2023-04-07T18:27:32.091
++C Optimizations\sto\sbtree.c\ssave\sabout\s4.5\smillion\sCPU\scycles:\n(1)\sClone\sinsertCell()\sinto\sa\sseparate\sinsertCellFast()\sroutine\sfor\nuse\sby\ssqlite3BtreeInsert().\s\s(2)\sMark\sallocateSpace()\sas\salways-inline.\n(3)\sImproved\scoalesence\sof\sadjacent\sfree\sblocks\sin\spageFreeArray().
++D 2023-04-08T13:01:34.177
  F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
  F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
  F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@@ -2052,8 -2052,8 +2052,9 @@@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a9
  F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
  F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
  F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
- P c07b62bef96bb69e9b1ce08f0084fdce8de981f4d8ea9689c87a41f1e4451ac7
- R 8848363a9c3a234e64f59bd74865cd9d
- U dan
- Z 1cd4b7dd2aa9fce599ff7d1499f29586
 -P 9b3febbd988be05807ada20146d3e196ae17c966722fff049feb32292157bff2
 -R 6d5ac3499b5cfed37f1e7ebe2e26c3c7
++P d8f50b31e8d64fce5141da4a016767a15482703364692a55df346f059fc9d30c 2dcdbb50356edbd3a79e53fa0bee4e700c2bdea78e27173b62ddabe44b066726
++R 88a02467116587aeb37e104f663e3a20
++T +closed 2dcdbb50356edbd3a79e53fa0bee4e700c2bdea78e27173b62ddabe44b066726
+ U drh
 -Z 765df8c6a87f2cf39432d4f3f8e36810
++Z f3818585026019f77b55a7228538100f
  # Remove this line to create a well-formed Fossil manifest.
diff --cc manifest.uuid
index 4cf0ab8070f0a9e930497864fa54a87a9dee98d7,224e5e36270ae9a1d1b504c96bf2bb9835dbfe04..691fc213b47009341b8309ecc8e51c776b89864c
@@@ -1,1 -1,1 +1,1 @@@
- d8f50b31e8d64fce5141da4a016767a15482703364692a55df346f059fc9d30c
 -2dcdbb50356edbd3a79e53fa0bee4e700c2bdea78e27173b62ddabe44b066726
++5c12c400fe8eb4e86e14c69a6c34d0d78d9861e5d40a36c6a596a81c6dd65977