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/

相关文章:

rust - 尝试比较泛型类型

methods - 一个 Rust 类型之谜 : Convert a function to a method, 和调用函数的签名破坏了编译

rust - 无法创建使用文字零的通用函数

rust - 如何在没有for循环的情况下获取迭代中正在处理的当前元素的索引?

rust - 如何在不进行分配的情况下从迭代器的下一个方法返回结构体的可变成员?

rust - 如何从Wasm内存缓冲区读取元组结构?

split - 如何在回车符 (\r) 或 CRLF (\r\n) 行终止符上拆分流?

io - 如何跟踪使用 'std::io::Write' 时写入的字节数?

linux - 如何为 Raspberry Pi Zero W 交叉编译 Rust 代码

rust - 带有的结构的泛型函数