哪种方法更可取:在解析例程中进行多个小malloc,或者首先遍历文件以确定所需的内存量,然后再次解析?
任何提示都表示赞赏.
解决方法 几乎在所有情况下,一个大的分配比许多小分配更好.这可以防止碎片,减少系统调用.它通常会通过更好的位置获得更好的性能.一种常见的技术是先分配一个小段,然后按固定因子(通常为1.5)重新分配一个小段.收集完所有元素后,如果过度分配被认为是大的,则可以将内存固定为最大大小.
在任何情况下:首先实施最简单的一个.如果您遇到性能问题:基准测试.然后优化.事实证明,分配甚至不是你的瓶颈.
编辑:作为R ..提到你可以通过推理上限内存及其与文件长度的关系来分配多少钱.大多数好的二进制格式还包含标题段中的长度和大小信息.如果您可以通过一些算术和/或文件搜索来确定数据结构所需的确切大小,那么您就是胜利的一方.
总结以上是内存溢出为你收集整理的多个小型mallocs与一个大型malloc全部内容,希望文章能够帮你解决多个小型mallocs与一个大型malloc所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)