使用mmap的Emacs缓冲区分配

| 为什么在cygwin,freebsd和irix6-5上默认激活“ 0”缓冲区分配,而在Linux上却没有激活? 参见
emacs/src/config.h
中的
USE_MMAP_FOR_BUFFERS
。 和
emacs/configure.in
中的
use_mmap_for_buffers
。 基于ѭ0的访问是否优于普通缓冲区分配?     
已邀请:
        默认的glibc malloc()使用mmap进行大分配;来自malloc(3)联机帮助页。 \“分配大于MMAP_THRESHOLD字节的内存块时,glibc        malloc()实现使用mmap(2)将内存分配为私有匿名映射。        MMAP_THRESHOLD默认情况下为128 kB,但可以使用mallopt(3)进行调整。\“ 也许在其他平台上切换到mmap是为了解决可怜的malloc()实现,而这些实现本身并不会执行?     
        mmap()分配更容易以线程安全的方式实现,但是brk()分配在Linux上慢10%。看到这个问题。     

要回复问题请先登录注册