如何序列化/反序列化哈希图?

2023-12-22

我有一个包含数百万个条目的大型哈希图,我想将其持久化到磁盘,这样当再次从磁盘读取它时,我就没有将键值对再次插入到映射中的开销。

我正在尝试使用谷物图书馆来做到这一点,但似乎HashMap http://hackage.haskell.org/package/unordered-containers-0.2.1.0数据类型需要派生泛型。有没有办法做到这一点?


你也许可以使用独立推导 https://downloads.haskell.org/~ghc/8.0-latest/docs/html/users_guide/glasgow_exts.html#stand-alone-deriving-declarations生成你自己的Generic实例为HashMap。您可能会收到有关以下内容的警告孤儿实例 https://downloads.haskell.org/~ghc/8.0-latest/docs/html/users_guide/separate_compilation.html#orphan-modules-and-instance-declarations,但你可能也不在乎:)无论如何,我还没有尝试过这个,但它可能值得一试......

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何序列化/反序列化哈希图? 的相关文章

  • 纯 Haskell 代码需要线程池吗?

    In 现实世界 Haskell 第 28 章 软件事务内存 http book realworldhaskell org read software transactional memory html 开发了一个并发网络链接检查器 它获取网
  • 构造微积分中的“Refl”东西?

    在语言中 例如Agda Idris or Haskell对于类型扩展 有一个 键入类似于以下内容的内容 data a b where Refl a a a b意思是a and b是相同的 这样的类型可以定义在结构演算 https en wi
  • 为什么在 where 子句中使用类型签名如此罕见?

    它是否有助于编译器优化 或者只是添加额外类型签名的多余工作 例如 人们经常看到 foo a gt b foo x bar x where bar x undefined 而不是 foo a gt b foo x bar x where ba
  • RankN多态性和令人发指的克莱斯利之箭

    我不明白为什么 demobind1 的定义会产生一些编译器错误 它看起来像一个愚蠢的翻转 但不知何故 LANGUAGE GADTs LANGUAGE RankNTypes ScopedTypeVariables TypeOperators
  • HashMap 的奇怪序列化行为

    考虑以下三个类 实体变压器包含一个关联的地图Entity用字符串 Entity是一个包含 ID 的对象 由 equals hashcode 使用 并且包含对实体变压器 注意循环依赖 一些包装器包含一个实体变压器 并维护一个 Map 关联En
  • 如何同时将透镜(或任何其他光学器件)视为吸气剂和设置剂?

    我正在尝试编写一个通用记录更新程序 它允许人们轻松更新记录中的字段existing记录 字段形状相似incoming记录 这是我到目前为止所拥有的 applyUpdater fields existing incoming let gett
  • 如何在 Haskell Pipes 中将两个 Consumer 合并为一个?

    我使用Haskell流处理库pipes https hackage haskell org package pipes编写一个命令行工具 每个命令行操作都可以将结果输出到stdout并记录到stderr with pipes API I n
  • Haskell 点运算符

    我尝试在 Haskell 中开发一个简单的平均函数 这似乎有效 lst 1 3 x fromIntegral sum lst y fromIntegral length lst z x y 但是为什么下面的版本不行呢 lst 1 3 x f
  • 如何告诉 cxf 将包装类型保留在方法中?

    在我的 WSDL 中我有一个操作
  • 强制 spring boot jackson 反序列化器使用 BigDecimal

    我遇到一个问题 杰克逊将数值反序列化为我无法预测的任意类型 例如 如果有人传递值 14 jackson 会将其实例化为Integer 然而 如果有人传递值 14 01 那么 Jackson 会将其实例化为Double 这是一个问题 因为我有
  • 非 Web 项目的 XML 序列化程序集

    我正在尝试解决 VS 2010 VB NET 和 C 中自动生成序列化程序集的众所周知的问题 项目设置中的 生成序列化程序集 选项对于非 Web 项目没有任何作用 请参阅http blog devstone com aaron archiv
  • Haskell 中多核编程的现状如何?

    Haskell 中多核编程的现状如何 现在有哪些项目 工具和库可用 有哪些经验报道 2009年至2012年期间 发生了以下事件 2012 从 2012 年开始 并行 Haskell 状态更新开始出现在并行 Haskell 摘要 http w
  • 如何从具有函数依赖关系的类型类中获取和使用依赖类型?

    如何从具有函数依赖关系的类型类中获取和使用依赖类型 为了澄清并给出我最近的尝试的一个例子 从我正在编写的实际代码中最小化 class Identifiable a b a gt b where if you know a you know
  • 如何让 esqueleto 为我生成 SQL 字符串?

    我怎样才能让esqueleto从a生成一个SQL字符串from陈述 的文档toRawSql说 你可以打开持久的查询日志记录 我尝试了所有可能的形式MonadLogger我可以理解 但它从未打印任何 SQL 同一文档还说 手动使用此功能 是可
  • 与 Functor 不同,Monad 可以改变形状?

    我一直很喜欢以下关于单子相对于函子的力量的直观解释 单子可以改变形状 函子不能 例如 length fmap f 1 2 3 总是等于3 然而 对于单子来说 length 1 2 3 gt gt g往往不等于3 例如 如果g定义为 g Nu
  • Haskell数据类型转换问题

    我目前正在学习 Haskell 并且一直在编写一些非常简单的程序来练习 我的程序之一是 import System IO main do putStrLn Give me year y lt getLine let res show cal
  • 这个实例有什么问题:ArrowApply Automaton?

    我希望 Automaton 有实例 ArrowApply 但 Control Arrow Transformer Automaton 没有 我认为下面的代码会表现良好 data Automaton b c Auto runAuto b gt
  • 在 Archlinux 上使用 Vim 作为 Haskell 的 IDE 目前情况如何?

    如果可行的话 我的目标是通过 YouCompleteMe 在 Vim 中完成 Haskell 的命令 在这方面 正如您在下面看到的 我还没有找到关于如何让它发挥作用的共识 相关评论的最新评论YouCompleteMe 上的问题 https
  • 使用 kryo 注册课程的策略

    我最近发现了 kryonet 库 它非常棒并且非常适合我的需求 然而 我遇到的一个问题是制定一种好的策略来注册所有可以转移的类 我知道我可以在每个对象中编写一个静态方法 该方法将返回它使用的所有类的列表 但我真的不想这样做 为了我自己的时间
  • Java 中序列化的目的是什么?

    我读过很多关于序列化的文章 以及它如何如此美好和伟大 但没有一个论点足够令人信服 我想知道是否有人能真正告诉我通过序列化一个类我们真正可以实现什么 让我们先定义序列化 然后我们才能讨论它为什么如此有用 序列化只是将现有对象转换为字节数组 该

随机推荐

  • 如何在启动 Django 服务器后实例化一个类并稍后在views.py 中访问其成员

    我想定义一个类PacketCount在姜戈 class PacketCount def init self count pkts 0 def count pkts logic to count the number of packets 我
  • 元素是块级还是内联级?

    我在某处读到过 img 元素的行为与两者类似 如果正确的话 有人可以举例说明吗 确实 它们都是 或者更准确地说 它们是 内联块 元素 这意味着它们像文本一样内联流动 但也像块元素一样具有宽度和高度 在 CSS 中 您可以将元素设置为disp
  • 对空选择执行命令

    我正在开发一个专门的文本 HTML 编辑器 在 contenteditable div 中使用 Javascript 和 JQuery 我使用 execcommand 实现了不同的文本样式 粗体 斜体 这似乎仅在所选文本不为空时才有效 解决
  • 正则表达式包装报价

    我试图在 CSV 文件中的某些内容部分加上引号 当前布局如下所示 element1 element2 element3 element4 element5 element6 element7 element8 element9 elemen
  • Visual Studio 2012 Express for Desktop 有哪些安装程序选项

    因此 微软发布了用于桌面应用程序的 Visual Studio 2012 Express 这很好 但是如何为 Visual Studio Express 中构建的开源应用程序创建安装程序呢 默认情况下没有可用的安装程序模板 并且它们已禁用浏
  • 当我选择图像时,我的应用程序崩溃了?

    我对 Android Studio 完全陌生 我一直在尝试制作一个使用此链接给出的 scanLibrary 进行扫描的应用程序 并按照此处给出的说明进行操作https github com jhansireddy AndroidScanne
  • 如何创建用于运行时排序的表达式树?

    使用实体框架 4 我尝试根据成员名称集合实现动态排序 基本上 用户可以选择要排序的字段以及排序的顺序 我看过表达式树示例 但无法将其拼凑在一起 以下是一些细节 列名集合 public List
  • NodeJS:这段代码是否可以多核运行?

    我使用这个节点脚本作为我的项目的 运行程序 需要同时启动 停止三个脚本 现在我想知道从节点进程内部生成的 child process 是否会使用我的服务器拥有的多核 我有 90 的信心认为是 但安全总比抱歉好 var CP require
  • 如何在 C 中声明常量函数指针数组?

    我需要声明一个指向函数的指针数组 如下所示 extern void function1 void extern void function2 void void MESSAGE HANDLERS void function1 functio
  • Blob 不可写

    当我尝试使用 azure 进行 azure db 备份时rm command New AzureRmSqlDatabaseExport 我面临以下问题 Error encountered during the service operati
  • 使用 cordova 设置 android project.properties 文件中的值

    TL DR 我有一个针对 iOS 和 Android 的 cordova 应用程序 有没有办法使用config xml设置 cordova 生成的文件中的值platforms android project properties 更多细节
  • 将数据源设置为 MediaPlayer 中的原始 ID

    在 MediaPlayer create 方法中 可以使用原始文件的 id 但如何在 setDataSource 方法中使用它 参考源码android media MediaPlayer http grepcode com file rep
  • 使用 Instagram gem 获取所有用户的照片

    我想使用 Instagram gem 获取我的所有照片 https github com Instagram instagram ruby gem https github com Instagram instagram ruby gem
  • ios 6 uiwebview 使用 jquery scrolltop 滚动页面时显示背景

    我有一个网页显示在 UIWebView 中 该网页使用 jquery scrollTop 使用 1 6 4 版本的 jquery 在页面加载后将窗口滚动到指定位置 这在 4 5 之前的 xcode 上工作得很好 在我使用 xcode 4 5
  • Delphi 中的 System.IsConsole 什么时候为真?

    根据 System pas 它被记录为True if compiled as console app 在System pas中 还有一个赋值 IFDEF LINUX IsConsole True 我有一个奇怪的问题 使用 ShellExec
  • sqlalchemy 中的 python 继承

    所以我对 python 和 sqlalchemy 很陌生 我需要一些继承或混合 而不是继承 方面的帮助 我有一些伪代码 但我还没有真正取得任何进展 Base declarative base class ModelBase Base Bas
  • 给定两个顶点绕中心点旋转线

    我一直在尝试将一堆线旋转 90 度 它们一起形成多段线 每条线包含两个顶点 例如 x1 y1 和 x2 y2 我目前正在尝试做的是绕线的中心点旋转 给定中心点 x1 x2 和 y1 y2 由于某种原因 我不太懂数学 我无法让线条正确旋转 有
  • .NET 4.5 中的内存模型发生了哪些变化?

    我刚刚在 Peter Richtie 博客中读到了这令人费解的一行 我需要帮助才能理解其含义Prior to NET 4 5 you really programmed to the NET memory model http msmvps
  • 在 Flex 中循环元素内的元素

    我在 Flex 4 中有以下功能 protected function initEventHandlers void imageContainer addEventListener DragEvent DRAG ENTER acceptDr
  • 如何序列化/反序列化哈希图?

    我有一个包含数百万个条目的大型哈希图 我想将其持久化到磁盘 这样当再次从磁盘读取它时 我就没有将键值对再次插入到映射中的开销 我正在尝试使用谷物图书馆来做到这一点 但似乎HashMap http hackage haskell org pa