Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitf13b208

Browse files
committed
Add auxiliary lists to GUC data structures for better performance.
The previous patch made addition of new GUCs cheap, but other GUCoperations aren't improved and indeed get a bit slower, becausehash_seq_search() is slower than just scanning a pointer array.However, most performance-critical GUC operations only needto touch a relatively small fraction of the GUCs; especiallyso for AtEOXact_GUC(). We can improve matters at the costof a bit more space by adding dlist or slist links to theGUC data structures. This patch invents lists that track(1) all GUCs with non-default "source";(2) all GUCs with nonempty state stack (implying they'vebeen changed in the current transaction);(3) all GUCs due for reporting to the client.All of guc.c's performance-critical cases can make use of one oranother of these lists to avoid searching the whole hash table.In particular, the stack list means that transaction enddoesn't take time proportional to the number of GUCs, butonly to the number changed in the current transaction.Discussion:https://postgr.es/m/2982579.1662416866@sss.pgh.pa.us
1 parent3057465 commitf13b208

File tree

2 files changed

+169
-98
lines changed

2 files changed

+169
-98
lines changed

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp