mirror of
https://github.com/postgres/postgres.git
synced 2025-08-31 17:02:12 +03:00
Improve programmer docs for simplehash and dynahash.
When reading the code it's not obvious when one should prefer dynahash over simplehash and vice-versa, so, for programmer-friendliness, add comments to inform that decision. Show sample simplehash method signatures. Author: James Coleman <jtc331@gmail.com> Discussion: https://postgr.es/m/CAAaqYe_dOF39gAJ8rL-a3YO3Qo96MHMRQ2whFjK5ZcU6YvMQSA%40mail.gmail.com
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
/*-------------------------------------------------------------------------
|
||||
*
|
||||
* dynahash.c
|
||||
* dynamic hash tables
|
||||
* dynamic chained hash tables
|
||||
*
|
||||
* dynahash.c supports both local-to-a-backend hash tables and hash tables in
|
||||
* shared memory. For shared hash tables, it is the caller's responsibility
|
||||
@@ -41,6 +41,16 @@
|
||||
* function must be supplied; comparison defaults to memcmp() and key copying
|
||||
* to memcpy() when a user-defined hashing function is selected.
|
||||
*
|
||||
* Compared to simplehash, dynahash has the following benefits:
|
||||
*
|
||||
* - It supports partitioning, which is useful for shared memory access using
|
||||
* locks.
|
||||
* - Shared memory hashes are allocated in a fixed size area at startup and
|
||||
* are discoverable by name from other processes.
|
||||
* - Because entries don't need to be moved in the case of hash conflicts, has
|
||||
* better performance for large entries
|
||||
* - Guarantees stable pointers to entries.
|
||||
*
|
||||
* Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
|
Reference in New Issue
Block a user