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

前端之家收集整理的这篇文章主要介绍了linux – 使用mmap的Emacs缓冲区分配前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
为什么默认情况下在cygwin,freebsd和irix6-5上激活mmap缓冲区分配但不在 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)将内存分配为私有匿名映射.
MMAP_THRESHOLD默认为128 kB,但可以使用mallopt(3)进行调整.“

也许在其他平台上切换到mmap是为了解决那些不能自己做的差的malloc()实现?

猜你在找的Linux相关文章