-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 2067014
Showing
12,616 changed files
with
122,462 additions
and
0 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
There are no files selected for viewing
Empty file.
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
window.ALL_CRATES = ["fnv","libc","strudel","strudel_st"]; | ||
//{"start":21,"fragment_lengths":[5,7,10,13]} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="List of all items in this crate"><title>List of all items in this crate</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-405f8b29f52305f8.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="fnv" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0-nightly (04a318787 2024-09-15)" data-channel="nightly" data-search-js="search-0cfde64e8ad3a7fe.js" data-settings-js="settings-7e3bb6c46e92e77c.js" ><script src="../static.files/storage-29b1d5a9048d38fe.js"></script><script defer src="../static.files/main-14659ec02b58af51.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-40f72c9259523cb3.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod sys"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../fnv/index.html">fnv</a><span class="version">1.0.7</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h3><a href="#structs">Crate Items</a></h3><ul class="block"><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#types" title="Type Aliases">Type Aliases</a></li></ul></section><div id="rustdoc-modnav"></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><h1>List of all items</h1><h3 id="structs">Structs</h3><ul class="all-items"><li><a href="struct.FnvHasher.html">FnvHasher</a></li></ul><h3 id="types">Type Aliases</h3><ul class="all-items"><li><a href="type.FnvBuildHasher.html">FnvBuildHasher</a></li><li><a href="type.FnvHashMap.html">FnvHashMap</a></li><li><a href="type.FnvHashSet.html">FnvHashSet</a></li></ul></section></div></main></body></html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="An implementation of the Fowler–Noll–Vo hash function."><title>fnv - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-405f8b29f52305f8.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="fnv" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0-nightly (04a318787 2024-09-15)" data-channel="nightly" data-search-js="search-0cfde64e8ad3a7fe.js" data-settings-js="settings-7e3bb6c46e92e77c.js" ><script src="../static.files/storage-29b1d5a9048d38fe.js"></script><script defer src="../crates.js"></script><script defer src="../static.files/main-14659ec02b58af51.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-40f72c9259523cb3.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod crate"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../fnv/index.html">fnv</a><span class="version">1.0.7</span></h2></div><div class="sidebar-elems"><ul class="block"><li><a id="all-types" href="all.html">All Items</a></li></ul><section id="rustdoc-toc"><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#about" title="About">About</a></li><li><a href="#using-fnv-in-a-hashmap" title="Using FNV in a `HashMap`">Using FNV in a <code>HashMap</code></a></li><li><a href="#using-fnv-in-a-hashset" title="Using FNV in a `HashSet`">Using FNV in a <code>HashSet</code></a></li></ul><h3><a href="#structs">Crate Items</a></h3><ul class="block"><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#types" title="Type Aliases">Type Aliases</a></li></ul></section><div id="rustdoc-modnav"></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Crate <a class="mod" href="#">fnv</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/fnv/lib.rs.html#1-367">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>An implementation of the <a href="http://www.isthe.com/chongo/tech/comp/fnv/index.html">Fowler–Noll–Vo hash function</a>.</p> | ||
<h3 id="about"><a class="doc-anchor" href="#about">§</a>About</h3> | ||
<p>The FNV hash function is a custom <code>Hasher</code> implementation that is more | ||
efficient for smaller hash keys.</p> | ||
<p><a href="https://www.rust-lang.org/en-US/faq.html#why-are-rusts-hashmaps-slow">The Rust FAQ states that</a> while the default <code>Hasher</code> implementation, | ||
SipHash, is good in many cases, it is notably slower than other algorithms | ||
with short keys, such as when you have a map of integers to other values. | ||
In cases like these, <a href="https://cglab.ca/~abeinges/blah/hash-rs/">FNV is demonstrably faster</a>.</p> | ||
<p>Its disadvantages are that it performs badly on larger inputs, and | ||
provides no protection against collision attacks, where a malicious user | ||
can craft specific keys designed to slow a hasher down. Thus, it is | ||
important to profile your program to ensure that you are using small hash | ||
keys, and be certain that your program could not be exposed to malicious | ||
inputs (including being a networked server).</p> | ||
<p>The Rust compiler itself uses FNV, as it is not worried about | ||
denial-of-service attacks, and can assume that its inputs are going to be | ||
small—a perfect use case for FNV.</p> | ||
<h3 id="using-fnv-in-a-hashmap"><a class="doc-anchor" href="#using-fnv-in-a-hashmap">§</a>Using FNV in a <code>HashMap</code></h3> | ||
<p>The <code>FnvHashMap</code> type alias is the easiest way to use the standard library’s | ||
<code>HashMap</code> with FNV.</p> | ||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>fnv::FnvHashMap; | ||
|
||
<span class="kw">let </span><span class="kw-2">mut </span>map = FnvHashMap::default(); | ||
map.insert(<span class="number">1</span>, <span class="string">"one"</span>); | ||
map.insert(<span class="number">2</span>, <span class="string">"two"</span>); | ||
|
||
map = FnvHashMap::with_capacity_and_hasher(<span class="number">10</span>, Default::default()); | ||
map.insert(<span class="number">1</span>, <span class="string">"one"</span>); | ||
map.insert(<span class="number">2</span>, <span class="string">"two"</span>);</code></pre></div> | ||
<p>Note, the standard library’s <code>HashMap::new</code> and <code>HashMap::with_capacity</code> | ||
are only implemented for the <code>RandomState</code> hasher, so using <code>Default</code> to | ||
get the hasher is the next best option.</p> | ||
<h3 id="using-fnv-in-a-hashset"><a class="doc-anchor" href="#using-fnv-in-a-hashset">§</a>Using FNV in a <code>HashSet</code></h3> | ||
<p>Similarly, <code>FnvHashSet</code> is a type alias for the standard library’s <code>HashSet</code> | ||
with FNV.</p> | ||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>fnv::FnvHashSet; | ||
|
||
<span class="kw">let </span><span class="kw-2">mut </span>set = FnvHashSet::default(); | ||
set.insert(<span class="number">1</span>); | ||
set.insert(<span class="number">2</span>); | ||
|
||
set = FnvHashSet::with_capacity_and_hasher(<span class="number">10</span>, Default::default()); | ||
set.insert(<span class="number">1</span>); | ||
set.insert(<span class="number">2</span>);</code></pre></div> | ||
</div></details><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.FnvHasher.html" title="struct fnv::FnvHasher">FnvHasher</a></div><div class="desc docblock-short">An implementation of the Fowler–Noll–Vo hash function.</div></li></ul><h2 id="types" class="section-header">Type Aliases<a href="#types" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="type" href="type.FnvBuildHasher.html" title="type fnv::FnvBuildHasher">FnvBuild<wbr>Hasher</a></div><div class="desc docblock-short">A builder for default FNV hashers.</div></li><li><div class="item-name"><a class="type" href="type.FnvHashMap.html" title="type fnv::FnvHashMap">FnvHash<wbr>Map</a></div><div class="desc docblock-short">A <code>HashMap</code> using a default FNV hasher.</div></li><li><div class="item-name"><a class="type" href="type.FnvHashSet.html" title="type fnv::FnvHashSet">FnvHash<wbr>Set</a></div><div class="desc docblock-short">A <code>HashSet</code> using a default FNV hasher.</div></li></ul></section></div></main></body></html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
window.SIDEBAR_ITEMS = {"struct":["FnvHasher"],"type":["FnvBuildHasher","FnvHashMap","FnvHashSet"]}; |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A builder for default FNV hashers."><title>FnvBuildHasher in fnv - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-405f8b29f52305f8.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="fnv" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0-nightly (04a318787 2024-09-15)" data-channel="nightly" data-search-js="search-0cfde64e8ad3a7fe.js" data-settings-js="settings-7e3bb6c46e92e77c.js" ><script src="../static.files/storage-29b1d5a9048d38fe.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-14659ec02b58af51.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-40f72c9259523cb3.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc type"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../fnv/index.html">fnv</a><span class="version">1.0.7</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">FnvBuild<wbr>Hasher</a></h2><h3><a href="#aliased-type">Aliased type</a></h3></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate fnv</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Type Alias <a href="index.html">fnv</a>::<wbr><a class="type" href="#">FnvBuildHasher</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/fnv/lib.rs.html#128">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub type FnvBuildHasher = <a class="struct" href="https://doc.rust-lang.org/nightly/core/hash/struct.BuildHasherDefault.html" title="struct core::hash::BuildHasherDefault">BuildHasherDefault</a><<a class="struct" href="struct.FnvHasher.html" title="struct fnv::FnvHasher">FnvHasher</a>>;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A builder for default FNV hashers.</p> | ||
</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct FnvBuildHasher(<span class="comment">/* private fields */</span>);</code></pre><script src="../type.impl/core/hash/struct.BuildHasherDefault.js" data-self-path="fnv::FnvBuildHasher" async></script></section></div></main></body></html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A `HashMap` using a default FNV hasher."><title>FnvHashMap in fnv - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-405f8b29f52305f8.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="fnv" data-themes="" data-resource-suffix="" data-rustdoc-version="1.83.0-nightly (04a318787 2024-09-15)" data-channel="nightly" data-search-js="search-0cfde64e8ad3a7fe.js" data-settings-js="settings-7e3bb6c46e92e77c.js" ><script src="../static.files/storage-29b1d5a9048d38fe.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-14659ec02b58af51.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-40f72c9259523cb3.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc type"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../fnv/index.html">fnv</a><span class="version">1.0.7</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">FnvHash<wbr>Map</a></h2><h3><a href="#aliased-type">Aliased type</a></h3></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate fnv</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Type Alias <a href="index.html">fnv</a>::<wbr><a class="type" href="#">FnvHashMap</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/fnv/lib.rs.html#132">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub type FnvHashMap<K, V> = <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><K, V, <a class="type" href="type.FnvBuildHasher.html" title="type fnv::FnvBuildHasher">FnvBuildHasher</a>>;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A <code>HashMap</code> using a default FNV hasher.</p> | ||
</div></details><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>struct FnvHashMap<K, V> { <span class="comment">/* private fields */</span> }</code></pre><script src="../type.impl/std/collections/hash/map/struct.HashMap.js" data-self-path="fnv::FnvHashMap" async></script></section></div></main></body></html> |
Oops, something went wrong.