• 几种内存操作性能比较


    Comparisation

    TLSF Two-Level Segregate Fit, mainly on RTOS
    jemalloc Jason Evans's malloc, used by firefox
    dlmalloc Doug Lea’s malloc, been around forever

    ptmalloc2 Doug Lea’s malloc, extended to support per-thread arenas. Default allocator for glibc2.3

    TCMalloc Google’s malloc, claims to be 6x faster than ptmalloc2

    nedmalloc claims to be faster than tcmalloc

    Hoard also claims to be very fast

    jemalloc安装和使用:

    wget http://www.canonware.com/download/jemalloc/jemalloc-2.0.1.tar.bz2

    tar xvf jemalloc-2.0.1.tar.bz2

    cd jemalloc-2.0.1/ && ./configure && make && make install

    ldconfig

    gcc -o test test.c -ljemalloc

    tcmalloc安装和使用:
    wget http://google-perftools.googlecode.com/files/google-perftools-0.99.2.tar.gz
    tar zxvf google-perftools-0.99.2.tar.gz
    cd google-perftools-0.99.2/
    ./configure
    make && make install
    echo "/usr/local/lib" > /etc/ld.so.conf.d/usr_local_lib.conf
    /sbin/ldconfig

    使用tcmalloc代替glibc缺省malloc:

    gcc -o test test.c -ltcmalloc

    nedmalloc安装和使用:

    Refer to the Readme.txt

    hoard安装和使用:

    make linux-gcc-x86

    cp libhoard.so /usr/local/lib/

    ldconfig

    gcc -o test test.c -lhoard

    valgrind --tool=memcheck --leak-check=full ./test

    valgrind检查不出jemalloc/tcmalloc的内存泄露,可以检测dlmalloc/ptmalloc/hoard

    To be continued

    References:
    Benchmarks http://locklessinc.com/benchmarks.shtml

    http://www.canonware.com/jemalloc/index.html

  • 相关阅读:
    singleton模式 在软件开发中的运用
    State Pattern
    闲话闲说——关于异常
    程序人生
    Event
    SerialPort实现modem的来电显示
    利用枚举进行状态的设计
    职责链模式的运用
    我对当前项目的一些看法
    SHAREPOINT 2007 网站模板(解决方案)安装和卸载
  • 原文地址:https://www.cnblogs.com/ylqmf/p/2830801.html
Copyright © 2020-2023  润新知