Files
boc/aamos-ledger-rust/target/debug/deps/libfnv-ccb7f141a4e4be6c.rlib
T

105 lines
12 KiB
Plaintext
Raw Normal View History

!<arch>
/ 0 0 0 0 8 `
// 56 `
fnv-ccb7f141a4e4be6c.fnv.54db1d7ae37522e4-cgu.0.rcgu.o/
lib.rmeta/ 0 0 0 644 11368 `
ELF·è*@@GNUÀrust
­(#rustc 1.96.0 (ac68faa20 2026-05-25)ÁÀ뉊]!ÜÛê(¹Þ—šên-5be7b69c3ff7b5b8ÁíàÄTËŸ ÜJîÄ)'ß\¥!-3d1337db07d0b3aeÁ¤²XctÔ'ÐÓ©z¨ɽÓ-a4945860e1c53b00Á¤°ð ¾ä-±($²ï=©Ã-7e98a21bfd32b0edÁòÖÀH•‘PIÓHã#£-055f30b747f859b6Árustc_std_workspace_coreÁ­Cçß^ò½èÝ$­Çÿ+Cé-c4878ee60b2242c9ÁŸÃï+Ñ]ŠqB<ÏïW#-8dd1dd90e70d0b6aÁ miniz_oxideÁ€š»J(P>àö÷g\K-1eb618da2918ab7fÁadler2ÁÆ;+Þ®5¥Ìýݰ¦ÛLˆ-f7919172d268e069Á hashbrownÁPäV9ÒÆèÜ"ÊÖVŽ\-0fc2184a5da6723aÁrustc_std_workspace_allocÁs&ØòØy¯s•bæ!‰ýŠ-97e4bf30be240674Á
std_detectÁhŠBîÙºÌI®ËÅš-9dbbf8346ba7ac8bÁrustc_demangleÁûë9´Ç×@Œ’ùXFº-f33013f239bf9f14Ácfg_ifÁÜLhž§Œaã¯>­-0a71c8f33a838301Á addr2lineÁ׎Þ!]8V$É@@-e618e6be60e87ba2ÁgimliÁ¸
°µ~Î1‹Ñt ðÁ€w-1f7768a68858f670ÁobjectÁ
áPÃ?­À¶¼QHJ¥-914cd6a4dbe590d1ÁmemchrÁ›º«8Ór­2Ù $¨ûib-cf21ca6f2bb15dcdÁë
‹ás«LÖ€îâƒ×ɯŒ-ee6f3747e38367f0Á¤»À|Œ€q<š»ÀŒó»À|­Œ¬BuildHasherDefaultÁ”Ù»À-+-À FnvHasherÁ

ˆ
>with_keyÁfinishÁwriteÁFnvBuildHasherÁ
FnvHashMapÁœ§
FnvHashSetÁ¥


³

 ý ˆ G2¨cïý—ô¢e« 


³
¢eì‰ 
”“%#"„äœòˬüåG«  
ôü¯E«  ¿keyÁ0 Ôü¦. º «  /  
“t`Ê
ÊLÄlÄlIterÁÇlµ ™lÈl
end_or_lenÁ™lÉl_markerÁ™lŒœjSžÅ¢~ø¾ƒª¯
ûMðÀÈÌ Ø ê
Û Å 
 
äå   $–ü– d›
 Ó(³ Ü› 
¼Ëéü'Müèü”Õov «  
Å tð<ðpðLÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙá ð¤áÄ ² ŸÅµ  « E ZØbytesÁݧUù!byteÁA
O¿pêJPÁ¤™ 
 #« . 5<
Àq<Ú³qµ4‹¢e”“Êe<×ð¡
 üê•üHE An implementation of the [Fowler–Noll–Vo hash function][chongo].ÁIúdM ## AboutÁZúü^JG The FNV hash function is a custom `Hasher` implementation that is moreÁü©$! efficient for smaller hash keys.ÁÎúüÒNK [The Rust FAQ states that][faq] while the default `Hasher` implementation,Áü¡NK SipHash, is good in many cases, it is notably slower than other algorithmsÁüðMJ with short keys, such as when you have a map of integers to other values.Áü¾>; In cases like these, [FNV is demonstrably faster][graphs].ÁýúüFC Its disadvantages are that it performs badly on larger inputs, andÁüÈLI provides no protection against collision attacks, where a malicious userÁü•GD can craft specific keys designed to slow a hasher down. Thus, it isÁüÝMJ important to profile your program to ensure that you are using small hashÁü«LI keys, and be certain that your program could not be exposed to maliciousÁüø0- inputs (including being a networked server).Á©úü­A> The Rust compiler itself uses FNV, as it is not worried aboutÁüïMJ denial-of-service attacks, and can assume that its inputs are going to beÁü½'$ small—a perfect use case for FNV.ÁåúüŒ éü† ïä
## Using FNV in a `HashMap`
The `FnvHashMap` type alias is the easiest way to use the standard library’s
`HashMap` with FNV.
```rust
use fnv::FnvHashMap;
let mut map = FnvHashMap::default();
map.insert(1, "one");
map.insert(2, "two");
map = FnvHashMap::with_capacity_and_hasher(10, Default::default());
map.insert(1, "one");
map.insert(2, "two");
```
Note, the standard library’s `HashMap::new` and `HashMap::with_capacity`
are only implemented for the `RandomState` hasher, so using `Default` to
get the hasher is the next best option.
## Using FNV in a `HashSet`
Similarly, `FnvHashSet` is a type alias for the standard library’s `HashSet`
with FNV.
```rust
use fnv::FnvHashSet;
let mut set = FnvHashSet::default();
set.insert(1);
set.insert(2);
set = FnvHashSet::with_capacity_and_hasher(10, Default::default());
set.insert(1);
set.insert(2);
```
ÁøúüüB? [chongo]: http://www.isthe.com/chongo/tech/comp/fnv/index.htmlÁü¿OL [faq]: https://www.rust-lang.org/en-US/faq.html#why-are-rusts-hashmaps-slowÁü63 [graphs]: https://cglab.ca/~abeinges/blah/hash-rs/Á
À$
q%
³q6
µ%
¢e$
Êe#
ð"
¡
 
¬Ì
Lÿ|

o
r
„Äf
i
Y
\
?
üï>; An implementation of the Fowler–Noll–Vo hash function.Á®úü²?< See the [crate documentation](index.html) for more details.Á« G2¨cïý—ô  « ?
2 «