rust - 当我有一个大的 HashMap 字面量时,我该如何改进编译时间?

标签 rust

我有一个非常大的物理测量 HashMap(3 元素元组的 300k+ 个条目),我想将其保留为 HashMap(我可以将它移出到 SQLite 数据库并查询它,但我会而不是,出于性能原因)。将它作为文字包含在内会使编译时间……很长。 有更好的方法吗?我可以将它以二进制格式序列化到磁盘,并在二进制文件执行/加载库时将其作为 HashMap 加载吗?使用子集进行开发和测试工作正常,但我需要完整的生产数据……

最佳答案

所以您要对 HashMap 进行硬编码?这似乎是一个完美散列问题,请参阅 https://github.com/sfackler/rust-phf crate 。

至于编译时间,将哈希表卸载到一个单独的 crate 中,Cargo 只会在哈希表数据发生变化时重新编译这个 crate。

关于rust - 当我有一个大的 HashMap 字面量时,我该如何改进编译时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35229369/

相关文章:

string - 如何将结构或 JSON 转换为原始字符串?

struct - 你如何匹配使用rust 的特征?

json - 从 Hyper 获取请求,解析 JSON,并将其转换为 Rust 中的结构

rust - 如何在 Unsafe Rust 中传递未初始化的变量地址

windows - PathBuf::starts_with 不适用于反斜杠

reactjs - workerize-loader 编译后无法工作( react typescript )

rust - 如何向不接受 self 的特征函数提供类型参数?

asynchronous - 为什么我会遇到一生不匹配的情况?

rust - 为什么我必须使用仅由我的依赖项使用的宏

generics - 为什么Iterator <Item = T>和Iterator <Item =&T>的实现有冲突?