ANSI C 哈希表实现,数据位于一个内存块中

2024-05-04

我正在寻找一种哈希表的开源 C 实现,它将所有数据保存在一个内存块中,因此可以轻松地通过网络发送数据。 我只能找到为添加到其中的每个键值对分配小块内存的内存。

预先非常感谢您的所有投入。

编辑:它不一定需要是哈希表,无论键值对表可能会做什么。


序列化此类数据结构的次数(通过网络发送也是序列化)与使用此类数据结构(在程序中)的次数相当低。因此,大多数实现更多地关注速度而不是“可能更容易序列化”方面。

如果所有数据都位于一个分配的内存块中,则对该数据结构的大量操作将有点昂贵,因为您必须:

  • 在添加操作上重新分配内存
  • 最有可能在删除操作上压缩/真空(这样你最喜欢的一个块就很密集并且没有孔)

无论如何,大多数网络操作都会被缓冲,只需迭代键并发送键+值即可。

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

ANSI C 哈希表实现,数据位于一个内存块中 的相关文章

随机推荐

  • Rails 在部分内用逗号分隔数组项

    Rails 中在部分内部创建逗号分隔列表的最优雅的方法是什么 我最近发现您可以使用部分来迭代从另一个视图模板发送的集合 所以在视图模板中我有 然后在 view directors director html erb中 这实际上做了类似的事情
  • 如何删除在设计器模式下创建的插槽?

    我已经创建了按钮cancelButton 然后我创建了函数槽on cancelButton clicked 使用上下文菜单项Go to slot 但是 过了一段时间 我删除了这个按钮 不再需要 并尝试删除该函数 但编译器给出错误undefi
  • 本地分析需要 Sonar 3.6 版本

    遇到 执行本地分析需要声纳版本 3 6 消息 当尝试在 eclipse 中使用声纳本地分析时 我刚刚安装了最新的CodeHaus http docs codehaus org display SONAR Installing SonarQu
  • 列表有简短的 contains 函数吗?

    给定一个列表xs和一个值item 如何检查是否xs包含item 即 如果任何元素xs等于item 有没有类似的东西xs contains item For performance considerations see Fastest way
  • 可以使用UIAppearance设置UINavigationItem的titleview吗?

    我目前使用此代码来设置导航项的 titleView void viewDidLoad UIImage navbarTitle UIImage imageNamed navbartitleview1 UIImageView imageView
  • 如何在 VS TextMateRules 中将标记设为粗体+斜体

    在 Visual Studio Code 中 我编辑 Markdown 文件 在编辑器中标记的文本 bold 被渲染bold以及标记的那个 italic 呈现在italic 但文字标记 bold and italic 简单地呈现为itali
  • Android:如何设计智能手机和平板电脑的应用程序?

    我知道已经有很多了博客文章 http android developers blogspot com 2011 02 android 30 fragments api html how to s http developer android
  • 设计用于初始化的VHDL状态机

    如何最明智地设计用于初始化芯片的 VHDL 状态机 我当前的设计是 伪代码 案例状态 当 s0 gt VHDL CODE FOR WRITING VALUE TO REGISTER状态 s1 当 s1 gt VHDL CODE FOR WR
  • 如何在 App Engine 中灵活更改 /dev/shm 的大小

    如何更改共享内存文件夹的大小 dev shm在 App Engine 灵活应用程序中 默认情况下 它设置为 64M 太低 无法运行许多应用程序 例如 Chrome 我看不出有什么办法可以改变它 如果您有权访问 可以通过多种方法进行更改doc
  • pandas Series.tolist() 中的 NaN 与 list 中的 NaN 的行为不同

    Why does gt gt import pandas as pd gt gt import numpy as np gt gt list pd Series np nan np nan 2 np nan 2 np nan np nan
  • CXX 编译器标识未知

    我们在使用 Visual Studio 2012 在 Windows 7 64 位下使用 CMake v2 8 12 编译项目时遇到问题 CMake 给我们提供了以下错误 我们已经尝试使用管理员权限从 Visual Studio 命令行启动
  • 如何纠正 Firefox 中侧边栏的固定定位?

    我的网页中有以下 HTML 我想将侧边栏固定在左侧 它在 Chrome 中工作正常 但 Firfox 没有将侧边栏显示为固定 div div h1 Heading h1 div div
  • requestLocationUpdates minTime 参数用途

    我正在创建一个应用程序 用于教育目的 它每 30 分钟记录一次用户的位置 并使用户能够查看地图上的所有位置 我不希望更新频率超过 30 分钟 但事实确实如此 这就是我的称呼requestLocationUpdates locationMan
  • 压缩保存在Google云存储中的文件

    是否可以压缩已保存在 Google 云存储中的文件 这些文件由 Google 数据流代码创建和填充 数据流无法写入压缩文件 但我的要求是将其保存为压缩格式 标准 TextIO Sink 不支持写入压缩文件 因为从压缩文件中读取的可扩展性较差
  • Perl 的核心库是如何管理的?

    根据我的理解 Perl 传统上只包含核心功能 人们安装额外的库来完成各种有用的 有时是非常基本的 事情 但在某些时候 Perl 默认附带了 核心库 因此您可以使用这些库而无需安装它们 来自Python 我很好奇这是如何管理的 具体来说 图书
  • 创建无缝旋转背景图像

    我想重复旋转的背景图像 试图让它变得无缝正在摧毁我的灵魂 从简单的事情开始 考虑每个图像都像砖块一样布局 创建无缝重复背景图像非常简单 红色区域是作物 您可以看到它按预期工作http jsfiddle net mPqfB http jsfi
  • 内核如何区分线程和进程

    Linux 中的线程被称为轻量级进程 无论是进程还是线程 它们的实现都是通过task struct数据结构 1 gt 那么 从这个意义上说 内核如何区分线程和进程 2 gt 当发生上下文切换时 线程如何在上下文切换中获得更少的开销 因为在此
  • 将 try/ except 的 except 部分分离到函数中

    我有一个 try except 我在代码中经常重复 except 部分 这让我相信最好将 except 部分分离到一个函数中 以下是我的用例 try except api error ReadError as e except api er
  • 计算数组元素的出现次数/频率

    在 Javascript 中 我试图获取一个初始的数值数组并计算其中的元素 理想情况下 结果将是两个新数组 第一个指定每个唯一元素 第二个包含每个元素出现的次数 不过 我愿意接受有关输出格式的建议 例如 如果初始数组是 5 5 5 2 2
  • ANSI C 哈希表实现,数据位于一个内存块中

    我正在寻找一种哈希表的开源 C 实现 它将所有数据保存在一个内存块中 因此可以轻松地通过网络发送数据 我只能找到为添加到其中的每个键值对分配小块内存的内存 预先非常感谢您的所有投入 编辑 它不一定需要是哈希表 无论键值对表可能会做什么 序列