Linking updates in User Guide (#494)

This commit is contained in:
Peter Turcan
2025-08-26 10:50:12 -07:00
committed by GitHub
parent f2cccecfa7
commit ae461ab449
4 changed files with 11 additions and 6 deletions

View File

@@ -66,7 +66,7 @@ Bloom filters are stealthy players in many performance-critical applications. Th
Databases used with bloom filters have the entries hashed (see <<hash-functions, Hash Functions>> ) before they are stored.
A Boost.Bloom library is currently in the formal review process.
The boost:bloom[] library was released with Boost 1.89.0.
Note:: The Bloom filter is named after its inventor, Burton Howard Bloom, who described its purpose in a 1970 paper - _Space/Time Trade-offs in Hash Coding with Allowable Errors_.
@@ -124,7 +124,8 @@ Note:: The Bloom filter is named after its inventor, Burton Howard Bloom, who de
== F
*FarmHash* : Google developed FarmHash as a family of non-cryptographic hash functions, designed to be fast on modern CPUs (both 32-bit and 64-bit), deterministic (same input results in the same output), well-distributed (low collision rate for typical data), but non-cryptographic (not secure against intentional collisions, so it should not be used for passwords, signatures, or security tokens). Good for hash tables, checksums, data partitioning, bloom filters, or fingerprinting content where cryptographic security isn't required.
[[farmhash]]
*FarmHash* : Google developed FarmHash as a family of non-cryptographic hash functions, designed to be fast on modern CPUs (both 32-bit and 64-bit), deterministic (same input results in the same output), well-distributed (low collision rate for typical data), but non-cryptographic (not secure against intentional collisions, so it should not be used for passwords, signatures, or security tokens). Good for hash tables, checksums, data partitioning, bloom filters, or fingerprinting content where cryptographic security isn't required. See <<hash-functions,Hash Functions>>.
*FIFO* : First In, First Out
@@ -183,9 +184,9 @@ Note:: The Bloom filter is named after its inventor, Burton Howard Bloom, who de
* *MurmurHash3 / MurmurHash2*, which is fast, multithreaded, but non-cryptographic. It has excellent _avalanche_ properties (small input changes can lead to big output changes) and is used in many real-time systems due to speed and low collision rate. Redis Bloom, Apache Hadoop, and Apache Hive use it for sketch-based analytics.
* *CityHash / FarmHash*, was developed by Google and optimized for short strings and performance on modern CPUs. It is useful for hashing things like IP addresses, usernames, or device IDs. FarmHash is a successor to CityHash with better SIMD support.
* *CityHash / FarmHash*, developed by Google and optimized for short strings and performance on modern CPUs. Useful for hashing things like IP addresses, usernames, or device IDs. <<farmhash,FarmHash>> is a successor to CityHash with better SIMD support.
* *FNV-1a / Fowler-Noll-Vo*, is super simple and fast, and often used when a lightweight, deterministic hash is needed. It is low-quality for cryptographic purposes, but fine for many *Bloom Filters*.
* *FNV-1a / Fowler-Noll-Vo*, is super simple and fast, and often used when a lightweight, deterministic hash is needed. It is low-quality for cryptographic purposes, but fine for many <<bloom-filter,Bloom Filters>>.
* *xxHash* is an extremely fast, modern non-crypto hash function that is gaining popularity in streaming analytics and fraud pipelines. Great choice when you're hashing millions of records per second.
@@ -210,7 +211,7 @@ Terms related to hashing include:
* *Salting* - the process of adding a unique, random value to input data before hashing it, to prevent attackers from using precomputed hash tables (like _rainbow tables_) to reverse-engineer the original input.
Note:: For uses of hash functions in Boost libraries, refer to boost:hash2[], and the proposed Boost.Bloom library.
Note:: For uses of hash functions in Boost libraries, refer to boost:hash2[], and boost:bloom[].
*HCF* : _Halt and Catch Fire_ - a bug that crashes everything, usually exaggerated

View File

@@ -540,4 +540,6 @@ For more information and examples on the use of Boost libraries in client/server
* https://www.boost.org/doc/libs/latest/libs/libraries.htm#Concurrent[Category: Concurrent Programming]
* https://www.boost.org/doc/libs/latest/libs/libraries.htm#IO[Category: Input/Output]
* https://www.boost.org/doc/libs/latest/libs/libraries.htm#Parsing[Category: Parsing]
* https://www.boost.org/doc/libs/latest/libs/libraries.htm#Parsing[Category: Parsing]
* xref:task-machine-learning.adoc[]
* xref:task-networking.adoc[]

View File

@@ -551,6 +551,7 @@ The _Transformer-style_ part refers to the architecture introduced in the ground
== See Also
* xref:task-ai-client.adoc[]
* https://www.boost.org/doc/libs/latest/libs/libraries.htm#Algorithms[Category: Algorithms]
* https://www.boost.org/doc/libs/latest/libs/libraries.htm#Iterators[Category: Iterators]
* https://www.boost.org/doc/libs/latest/libs/libraries.htm#Math[Category: Math and numerics]

View File

@@ -972,5 +972,6 @@ image::client-server-layers.png[]
== See Also
* xref:task-ai-client.adoc[]
* https://www.boost.org/doc/libs/latest/libs/libraries.htm#Concurrent[Category: Concurrent Programming]
* https://www.boost.org/doc/libs/latest/libs/libraries.htm#IO[Category: Input/Output]