So You Think You Can Hash
Tooling @ Microsoft 🐘 @ciura_victor@hachyderm.io 🦋 @ciuravictor.bsky.social 🦀 So You Think You Can Hash CppCon September 20242024 Victor Ciura | @ciura_victor - Unleashing 🦀 The Ferris Within X experimenting with various hash algorithms. We will explore the essentials of hash functions and their properties, techniques for hashing complex user- defined types, and customizing std::hash for specialized needs with and benchmarking different hash algorithms. This will allow easy switching of hashing algorithms used by complex data structures, enabling easy comparisons. Hash algorithm designers can concentrate0 码力 | 119 页 | 6.54 MB | 5 月前3CppCon 2021: Persistent Data Structures
Introduction Persistent Hash Map Persistent Transactional Data Structures Live Demonstration ReferencesIntroduction Persistent Hash Map Persistent Transactional Data Structures Live Demonstration References References Overview Introduction Persistent Memory Use-Cases Pitfalls Persistent Hash Map Design Goals and Methodology Persistence Performance Results Persistent Transactional Data Structures Design Demonstration A Persistent Hash Map for Graph Processing Workloads and a Methodology for Persistent Transactional Data Structures 2IntroductionIntroduction Persistent Hash Map Persistent Transactional0 码力 | 56 页 | 1.90 MB | 5 月前3Performance Engineering: Being Friendly to Your Hardware
hashing 93 uint32_t hash_fnv1a(const char* key, const size_t len) { uint32_t hash = 0x811c9dc5; for(size_t i = 0; i < len; ++i) { hash = hash ^ key[i]; hash *= 0x1000193;; } return hash; } b8 c5 9d 1c hashing 94 uint32_t hash_fnv1a(const char* key, const size_t len) { uint32_t hash = 0x811c9dc5; for(size_t i = 0; i < len; ++i) { hash = hash ^ key[i]; hash *= 0x1000193;; } return hash; } b8 c5 9d 1c hashing 95 uint32_t hash_fnv1a(const char* key, const size_t len) { uint32_t hash = 0x811c9dc5; for(size_t i = 0; i < len; ++i) { hash = hash ^ key[i]; hash *= 0x1000193;; } return hash; } b8 c5 9d 1c0 码力 | 111 页 | 2.23 MB | 5 月前3Cardinality and frequency estimation - CS 591 K1: Data Stream Processing and Analytics Spring 2020
3 Example use-case: Distinct users visiting one or multiple webpages Naive solution: maintain a hash table ??? Vasiliki Kalavri | Boston University 2020 How can we count the number of distinct elements or multiple webpages Naive solution: maintain a hash table Convert the stream into a multi-set of uniformly distributed random numbers using a hash function. ??? Vasiliki Kalavri | Boston University visiting one or multiple webpages Naive solution: maintain a hash table The more different elements we encounter in the stream, the more different hash values we shall see. Convert the stream into a multi-set0 码力 | 69 页 | 630.01 KB | 1 年前3FISCO BCOS 2.3.0 中文文档
优化交易并行执行过程中锁粒度 优化部分对象的访问方式,减少拷贝花销 2. 存储 限制表名最大长度,从64调整为50 以二进制方式对区块数据和nonce数据进行编码存储 移除数据落盘阶段对部分表的排序和hash计算 3. 协议 优化区块同步策略 优化PBFT消息转发策略 优化Prepare包结构 优化交易广播策略 优化交易转发策略 修复 修复特定兼容场景下的缓存bug 兼容性 向前兼容,旧版 seal on,blkNum=1,tx=0,myIdx=2,hash=13dcd2da... info|2019-01-21 17:23:36.592280| [g:1][p:264][CONSENSUS] [SEALER]++++++++++++++++Generating seal on,blkNum=1,tx=0,myIdx=2,hash=31d21ab7... info|2019-01-21 612241| [g:1][p:264][CONSENSUS] [SEALER]++++++++++++++++Generating seal on,blkNum=1,tx=0,myIdx=2,hash=49d0e830... cd ~/fisco && curl -LO https://github.com/FISCO- BCOS/console/releases/download/v1.00 码力 | 1227 页 | 10.79 MB | 1 年前3FISCO BCOS 2.2.0 中文文档
优化交易并行执行过程中锁粒度 优化部分对象的访问方式,减少拷贝花销 2. 存储 限制表名最大长度,从64调整为50 以二进制方式对区块数据和nonce数据进行编码存储 移除数据落盘阶段对部分表的排序和hash计算 3. 协议 优化区块同步策略 优化PBFT消息转发策略 优化Prepare包结构 优化交易广播策略 优化交易转发策略 修复 修复特定兼容场景下的缓存bug 兼容性 向前兼容,旧版 seal on,blkNum=1,tx=0,myIdx=2,hash=13dcd2da... info|2019-01-21 17:23:36.592280| [g:1][p:264][CONSENSUS] [SEALER]++++++++++++++++Generating seal on,blkNum=1,tx=0,myIdx=2,hash=31d21ab7... info|2019-01-21 612241| [g:1][p:264][CONSENSUS] [SEALER]++++++++++++++++Generating seal on,blkNum=1,tx=0,myIdx=2,hash=49d0e830... cd ~/fisco && bash nodes/127.0.0.1/download_console.sh cp -n console/conf/applicationContext-sample0 码力 | 1156 页 | 10.03 MB | 1 年前3FISCO BCOS 2.1.0 中文文档
seal on,blkNum=1,tx=0,myIdx=2,hash=13dcd2da... info|2019-01-21 17:23:36.592280| [g:1][p:264][CONSENSUS] [SEALER]++++++++++++++++Generating seal on,blkNum=1,tx=0,myIdx=2,hash=31d21ab7... info|2019-01-21 612241| [g:1][p:264][CONSENSUS] [SEALER]++++++++++++++++Generating seal on,blkNum=1,tx=0,myIdx=2,hash=49d0e830... sudo apt install -y default-jdk cd ~/fisco && bash <(curl -s https://raw.githubusercontent Type":"Linux/clang/Debug", "FISCO-BCOS Version":"2.0.0", "Git Branch":"master", "Git Commit Hash":"c213e033328631b1b8c2ee936059d7126fd98d1a" } # 获取节点链接信息 [group:1]> getPeers [ { "IPAndPort":"1270 码力 | 1058 页 | 740.85 KB | 1 年前3FISCO BCOS 2.5.0 中文文档
优化交易并行执行过程中锁粒度 优化部分对象的访问方式,减少拷贝花销 2. 存储 限制表名最大长度,从64调整为50 以二进制方式对区块数据和nonce数据进行编码存储 移除数据落盘阶段对部分表的排序和hash计算 3. 协议 优化区块同步策略 优化PBFT消息转发策略 优化Prepare包结构 优化交易广播策略 优化交易转发策略 修复 修复特定兼容场景下的缓存bug 兼容性 向前兼容,旧版 seal on,blkNum=1,tx=0,myIdx=2,hash=13dcd2da... info|2019-01-21 17:23:36.592280| [g:1][p:264][CONSENSUS] [SEALER]++++++++++++++++Generating seal on,blkNum=1,tx=0,myIdx=2,hash=31d21ab7... info|2019-01-21 612241| [g:1][p:264][CONSENSUS] [SEALER]++++++++++++++++Generating seal on,blkNum=1,tx=0,myIdx=2,hash=49d0e830... cd ~/fisco && curl -LO https://github.com/FISCO- BCOS/console/releases/download/v1.00 码力 | 1456 页 | 13.35 MB | 1 年前3FISCO BCOS 2.4.0 中文文档
优化交易并行执行过程中锁粒度 优化部分对象的访问方式,减少拷贝花销 2. 存储 限制表名最大长度,从64调整为50 以二进制方式对区块数据和nonce数据进行编码存储 移除数据落盘阶段对部分表的排序和hash计算 3. 协议 优化区块同步策略 优化PBFT消息转发策略 优化Prepare包结构 优化交易广播策略 优化交易转发策略 修复 修复特定兼容场景下的缓存bug 兼容性 向前兼容,旧版 seal on,blkNum=1,tx=0,myIdx=2,hash=13dcd2da... info|2019-01-21 17:23:36.592280| [g:1][p:264][CONSENSUS] [SEALER]++++++++++++++++Generating seal on,blkNum=1,tx=0,myIdx=2,hash=31d21ab7... info|2019-01-21 612241| [g:1][p:264][CONSENSUS] [SEALER]++++++++++++++++Generating seal on,blkNum=1,tx=0,myIdx=2,hash=49d0e830... cd ~/fisco && curl -LO https://github.com/FISCO- BCOS/console/releases/download/v1.00 码力 | 1314 页 | 11.21 MB | 1 年前3Filtering and sampling streams - CS 591 K1: Data Stream Processing and Analytics Spring 2020
to keep all users in memory? ??? Vasiliki Kalavri | Boston University 2020 We can use a hash function h to hash the user name (or IP) and select queries only when h(user) = 0. 13 In general: We can b1, …, b9. • select the query if the user hash value is in b0, b1, or b2. ??? Vasiliki Kalavri | Boston University 2020 We can use a hash function h to hash the user name (or IP) and select queries example, to get a 30% sample: • use 10 buckets, b0, b1, …, b9. • select the query if the user hash value is in b0, b1, or b2. How can we limit the sample size from growing indefinitely? ??? Vasiliki0 码力 | 74 页 | 1.06 MB | 1 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100