多个小型mallocs与一个大型malloc

多个小型mallocs与一个大型malloc,第1张

概述任务是将二进制文件解析到内存中.但是,我不知道分配所需的内存量. 哪种方法更可取:在解析例程中进行多个小malloc,或者首先遍历文件以确定所需的内存量,然后再次解析? 任何提示都表示赞赏. 几乎在所有情况下,一个大的分配比许多小分配更好.这可以防止碎片,减少系统调用.它通常会通过更好的位置获得更好的性能. 一种常见的技术是先分配一个小段,然后按固定因子(通常为1.5)重新分配一个小段.收集完所有 任务是将二进制文件解析到内存中.但是,我不知道分配所需的内存量.

哪种方法更可取:在解析例程中进行多个小malloc,或者首先遍历文件以确定所需的内存量,然后再次解析?

任何提示都表示赞赏.

解决方法 几乎在所有情况下,一个大的分配比许多小分配更好.这可以防止碎片,减少系统调用.它通常会通过更好的位置获得更好的性能.

一种常见的技术是先分配一个小段,然后按固定因子(通常为1.5)重新分配一个小段.收集完所有元素后,如果过度分配被认为是大的,则可以将内存固定为最大大小.

在任何情况下:首先实施最简单的一个.如果您遇到性能问题:基准测试.然后优化.事实证明,分配甚至不是你的瓶颈.

编辑:作为R ..提到你可以通过推理上限内存及其与文件长度的关系来分配多少钱.大多数好的二进制格式还包含标题段中的长度和大小信息.如果您可以通过一些算术和/或文件搜索来确定数据结构所需的确切大小,那么您就是胜利的一方.

总结

以上是内存溢出为你收集整理的多个小型mallocs与一个大型malloc全部内容,希望文章能够帮你解决多个小型mallocs与一个大型malloc所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/langs/1220858.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存