gpt4 book ai didi

linux - 使用 mmap 的 Emacs 缓冲区分配

转载 作者:IT王子 更新时间:2023-10-29 00:20:36 27 4
gpt4 key购买 nike

为什么 mmap 缓冲区分配在 cygwin、freebsd 和 irix6-5 上默认激活,但在 linux 上却没有?

请参阅 emacs/src/config.h 中的 USE_MMAP_FOR_BUFFERS。以及 emacs/configure.in 中的 use_mmap_for_buffers

基于 mmap 的访问是否优于正常的缓冲区分配?

最佳答案

默认的 glibc malloc() 使用 mmap 进行大分配;来自 malloc(3) 联机帮助页。 “当分配大于 MMAP_THRESHOLD 字节的内存块时,glibc malloc() 实现使用 mmap(2) 将内存分配为私有(private)匿名映射。 MMAP_THRESHOLD 默认为 128 kB,但可以使用 mallopt(3) 进行调整。”

也许在其他平台上切换到 mmap 是为了解决本身不执行的糟糕的 malloc() 实现?

关于linux - 使用 mmap 的 Emacs 缓冲区分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6328002/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com