The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Менеджер распределения памяти jemalloc выпущен в виде отдель..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Менеджер распределения памяти jemalloc выпущен в виде отдель..."  +/
Сообщение от opennews (??) on 12-Апр-10, 22:00 
Высокопроизводительный менеджер распределения памяти jemalloc (http://www.canonware.com/jemalloc/) выпущен (http://t-t-travails.blogspot.com/2010/04/stand-alone-jemallo...) в виде отдельной библиотеки для платформы Linux. Jemalloc представляет собой реализацию функций malloc, оптимизированную для решения проблем фрагментации и оптимальной утилизации ресурсов CPU при выделения памяти в нескольких потоках на многопроцессорных системах. Изначально jemalloc был разработан Джейсоном Эвансом (Jason Evans) для  FreeBSD 7.0, а позднее был портирован в NetBSD и интегрирован в состав браузера Firefox 3.

Для решения проблем с блокировками на SMP системах в jemalloc для каждого процессора используется (http://people.freebsd.org/~jasone/jemalloc/bsdcan2006/jemall...) своя изолированная область распределения памяти, что позволяет добиться линейной масштабируемости при измерении числа распределений памяти в единицу времени при росте числа нитей в многопоточных приложениях, при том чт...

URL: http://t-t-travails.blogspot.com/2010/04/stand-alone-jemallo...
Новость: https://www.opennet.ru/opennews/art.shtml?num=26195

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


2. "Менеджер распределения памяти jemalloc выпущен в виде отдель..."  –1 +/
Сообщение от oneonfire email on 12-Апр-10, 22:18 
Кстати кто пользуеться Archlinux, и эта библеотека нужна я в AUR создал пакет: http://aur.archlinux.org/packages.php?ID=36417
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

9. "Менеджер распределения памяти jemalloc выпущен в виде отдель..."  +/
Сообщение от malex984 on 12-Апр-10, 23:29 
senki.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Менеджер распределения памяти jemalloc выпущен в виде отдель..."  –2 +/
Сообщение от anonimus on 12-Апр-10, 22:46 
а как тут Linux и BSD лицензия стыковаться будут? o_O
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

10. "Менеджер распределения памяти jemalloc выпущен в виде отдель..."  +/
Сообщение от аноним on 13-Апр-10, 00:15 
Замечательно.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "Менеджер распределения памяти jemalloc выпущен в виде отдель..."  +/
Сообщение от oneonfire email on 12-Апр-10, 22:48 
ну а стоит посмотреть на разные библеотеки, во многих BSD лицензия и ничего ведь...
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "Менеджер распределения памяти jemalloc выпущен в виде отдель..."  +/
Сообщение от anonimus on 12-Апр-10, 22:50 
так если софтину под Linux будут собирать с jemalloc - то результат (сама софтина) под какой лицензией должен выпускаться?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "Менеджер распределения памяти jemalloc выпущен в виде отдель..."  +1 +/
Сообщение от Аноним (??) on 12-Апр-10, 22:57 
Под той, под которой удобно автору софтины.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

7. "Менеджер распределения памяти jemalloc выпущен в виде отдель..."  +/
Сообщение от anonimus on 12-Апр-10, 23:11 
>Под той, под которой удобно автору софтины.

Так вроде бы если дополнять и изменять GPL-ый софт, то лицензию нельзя менять...?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

8. "Менеджер распределения памяти jemalloc выпущен в виде отдель..."  +3 +/
Сообщение от Аноним (??) on 12-Апр-10, 23:19 
Ты же не библиотеку меняешь, а софт который её использует, это же разные вещи.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

11. "Менеджер распределения памяти jemalloc выпущен в виде отдель..."  +/
Сообщение от pavlinux (ok) on 13-Апр-10, 03:16 
Балин... Зачотная вещь!!!

pavel@suse64:~/> gcc -g0 -O3 -march=native main.c -ljemalloc
pavel@suse64:~/> time ./a.out

real    0m0.379s
user    0m0.079s
sys     0m0.299s
pavel@suse64:~/> gcc -g0 -O3 -march=native main.c
pavel@suse64:~/> time ./a.out

real    0m1.077s
user    0m0.292s
sys     0m0.780s


#include <stdio.h>
#include <stdlib.h>
#include <jemalloc/jemalloc.h>

#define SZ 0xFFFF

int main(void)
{
    int i;

    int **ARRAY = (int **) malloc(SZ * sizeof(int *));

    for (i = 0; i < SZ; i++) {
        if (i % 2) {
            ARRAY[i] = (int *) malloc(i);
            *ARRAY[i] = i;
            continue;
        }
        if (i % 3) {
            ARRAY[i] = (int *) calloc(1, i);
            *ARRAY[i] = i;
            continue;
        }

        ARRAY[i] = (int *) realloc(ARRAY[i], i);
        *ARRAY[i] = i;

    }

    for (i = 0; i < SZ; i++) {
        free(ARRAY[i]);
        ARRAY[i] = NULL;
    }
    free(*ARRAY);
    return 0;
}


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

15. "Менеджер распределения памяти jemalloc выпущен в виде отдель..."  +1 +/
Сообщение от cvsup (ok) on 13-Апр-10, 09:19 
Теперь попробуй с тредами :)
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

21. "Менеджер распределения памяти jemalloc выпущен в виде отдель..."  +/
Сообщение от pavlinux (ok) on 13-Апр-10, 12:12 
>Теперь попробуй с тредами :)

спать хотел... вечером доделаю

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

12. "Менеджер распределения памяти jemalloc выпущен в виде отдель..."  +2 +/
Сообщение от pavlinux (ok) on 13-Апр-10, 04:25 
Другой пример, где JEMALLOC тормозит!!!!

# gcc -mtune=native -O2 -W main.c -ljemalloc -lrt
# ./a.out
Count: [00] Time: 0.770741600 sec
Count: [01] Time: 1.264327320 sec
Count: [02] Time: 1.301348680 sec
Count: [03] Time: 1.284062600 sec
Count: [04] Time: 1.247971040 sec
Count: [05] Time: 1.251684920 sec
Count: [06] Time: 1.245210760 sec
^C

# gcc -mtune=native -O2 -W main.c -lrt;
# ./a.out
Count: [00] Time: 1.8096401 sec
Count: [01] Time: 0.819417640 sec
Count: [02] Time: 0.814614240 sec
Count: [03] Time: 0.814325360 sec
Count: [04] Time: 0.820493560 sec
Count: [05] Time: 0.814421200 sec
Count: [06] Time: 0.814599600 sec
Count: [07] Time: 0.814985080 sec
^C

Разница в 0.4


/*
*  jemalloc tester (l)2010, Pavlinux Inc.
*
*/
#include <stdio.h>
#include <stdlib.h>
#include <jemalloc/jemalloc.h>
#include <unistd.h>
#include <time.h>

#define TOTAL 0x32
#define SZ 0xFFFF

struct timespec diff(struct timespec start, struct timespec end)
{
    struct timespec temp;
    if ((end.tv_nsec - start.tv_nsec) < 0) {
        temp.tv_sec = end.tv_sec - start.tv_sec - 1;
        temp.tv_nsec = 1000000000 + end.tv_nsec - start.tv_nsec;
    } else {
        temp.tv_sec = end.tv_sec - start.tv_sec;
        temp.tv_nsec = end.tv_nsec - start.tv_nsec;
    }
    return temp;
}

int main(void)
{
    int a, i;                     /*counters */
    float summ = 0.0000000001f;   /* no divide to zero ;) */
    int **ARRAY;              /* ptr to ptrs */
    struct timespec time1, time2; /* timers */

    for (a = 0; a < TOTAL; a++) {

        clock_gettime(CLOCK_REALTIME, &time1); /* begin time */

        posix_memalign((void *) & ARRAY, sysconf(_SC_PAGESIZE), SZ * sizeof(void *));

        for (i = 0; i < SZ; i++) {
            if (!(i % 5)) {
                ARRAY[i] = (int *) malloc(i);
                *ARRAY[i] = i;
                continue;
            }
            if (!(i % 3)) {
                ARRAY[i] = (int *) calloc(1, i);
                *ARRAY[i] = i;
                continue;
            }
            if (!(i % 2)) {
                posix_memalign((void *) & ARRAY[i], sysconf(_SC_PAGESIZE), sizeof(void *));
                *ARRAY[i] = i;
                continue;
            }

            ARRAY[i] = (int *) malloc(i);
            *ARRAY[i] = i;
        }

        for (i = 0; i < SZ; i++) {
            free(ARRAY[i]);
            ARRAY[i] = NULL;
        }
        free(*ARRAY), ARRAY = NULL;
        clock_gettime(CLOCK_REALTIME, &time2);  /* end time */
        printf("Count: [%.2d] Time: %.2zd.%.9zd sec\n", a, diff(time1, time2).tv_sec, diff(time1, time2).tv_nsec);

        /* summary */
        summ += (float)(diff(time1, time2).tv_sec) + ((float)diff(time1, time2).tv_nsec/1000000000.0f);

    }
/* total aand average */
printf("\nTotal: [%.9f]\nAverage: [%.9f]\n\n",summ, summ/TOTAL);
return 0;
}


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

36. "настоящий тест"  +/
Сообщение от Вова on 14-Апр-10, 11:05 
надо сравнивать
$ time ./a.out
и
$ time LD_PRELOAD=/usr/local/lib/libjemalloc.so ./a.out



/* gcc memtest.c -lrt */
#include <stdio.h>
#include <unistd.h>
#include <pthread.h>
#include <stdlib.h>
#include <string.h>


int block_size =  256;
int array_size =  1024*1024;
void* thread (void *v)
{
        long i;
        int **array = malloc(array_size * sizeof(int*));

        for(i = 0;  i < array_size; i++){
                int *s = malloc(block_size);
                int j;
                for(j = 0; j <block_size/sizeof(int); j++)
                        s[j] = j;

                array[i] = s;

                if(array_size >= 10 && !(i%(array_size/10))){
                        float percent = (float)i/array_size*100.0;
                        printf("\t thread %x: %f%%%% creation done\n", (unsigned)pthread_self(), percent);
                }

        }

        for(i = 0;  i < array_size; i++){
                int *s = array[i];
                int j;
                for(j = 0; j <block_size/sizeof(int); j++)
                        if(s[j] != j)
                                printf("\t MEMERROR in thread #%x\n", (unsigned)pthread_self());

                free(s);

                if(array_size >= 10 && !(i%(array_size/10))){
                        float percent = (float)i/array_size*100.0;
                        printf("\t thread %x: %f%%%% deletion done\n", (unsigned)pthread_self(), percent);
                }
        }

        printf("\tfinished thread #%x\n", (unsigned)pthread_self());
        free(array);
        return NULL;
}

int main (int argc, char** argv)
{
        int thread_count = 5;

        if(argc > 1)
                block_size = atoi(argv[1]);

        if(argc > 2)
                array_size = atoi(argv[2]);

        if(argc > 3)
                thread_count = atoi(argv[3]);

        printf("malloc performance tester\nUsage:  %s [block_size] [array_size] [thread_count]\n", argv[0]);
        printf("going to allocate array of blocks in each of the %d threads [block_size = %d,"
                        "array_size = %d] \n", thread_count, block_size, array_size);

        pthread_t pids[thread_count];
        memset(pids, 0, sizeof(pids));
        int i;
        for(i = 0; i < thread_count; i++)
                if (-1 == pthread_create(pids + i, NULL, &thread, NULL)){
                        perror("creation of the thread failed");
                        exit(-1);
                }

        for(i = 0; i < thread_count; i++){
                pthread_join(pids[i], NULL);
                printf("joined thread #%x\n", (unsigned)pids[i]);
        }
        printf("finished main thread #%x\n", (unsigned)pthread_self());
        return 0;
}


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

41. "настоящий тест"  +/
Сообщение от pavlinux (ok) on 15-Апр-10, 03:13 
>надо сравнивать

А #include <jemalloc/jemalloc.h> для чего придумали? ;)

> $ time ./a.out

> $ time LD_PRELOAD=/usr/local/lib/libjemalloc.so ./a.out
>
>/* gcc memtest.c -lrt */

А на кой хрен нужна -lrt, и где -pthread (или -lpthread) ? :)


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

42. "настоящий тест"  +/
Сообщение от Вова on 15-Апр-10, 09:46 
>А #include <jemalloc/jemalloc.h>  для чего придумали? ;)

Не "придумали", а "павлинукс придумал".
Твой инклюд - бессмысленен, как и однопоточный тест.
сравни
LD_PRELOAD=/usr/local/lib/libjemalloc.so ldd ./a.out

и просто
ldd ./a.out

  Детсад, честное слово.

jemalloc рвёт стандартный аллокатор как тузик грелку, на многопоточных задачах, разумеется. На реальных задачах. Не на твоих тестах.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

44. "настоящий тест"  +/
Сообщение от pavlinux (ok) on 15-Апр-10, 23:38 
>>А #include <jemalloc/jemalloc.h>  для чего придумали? ;)
>Не "придумали", а "павлинукс придумал".

make install запусти увидишь, как я придумал.

>Твой инклюд - бессмысленен, как и однопоточный тест. сравни

Да нипёт, я создал ситуацию когда этот Джемаллок тормозит на 20%
Создам и мультитредовую версию, где будет тормозить на 30%

> jemalloc рвёт стандартный аллокатор как тузик грелку,

Подавился этот jemalloc, даже одной грелкой.


--------
Я то думаю, чёйта он тут выпендривается...
А оказывается скопипастил бенчмарк

http://www.citi.umich.edu/projects/linux-scalability/reports...


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

45. "настоящий тест"  +/
Сообщение от Вова on 16-Апр-10, 10:02 
>make install запусти увидишь, как я придумал.

Заголовочные файлы, дружок, описывают мплементированные в соответствующих библиотеках функции и необходимые для работы с ними типы данных,  и в данном случае это перечень имплементированных стандартных маллок'ов.  Его подключение - бессмысленно.


>Да нипёт, я создал ситуацию когда этот Джемаллок тормозит на 20%

  И не создал, и не на двадцать и не тормозит. И не в спортлото выиграл, а в карты проиграл (с) другой клоун

>Создам и мультитредовую версию, где будет тормозить на 30%

Да когда тебе, школьные каникулы-то не вечные.

    В течении пары лет либо 1) все дистрибутивы будут содержать глобальное выставление LD_PRELOAD=...jemalloc.so (либо другой) либо 2) глибс будет содержать этот аллокатор

>--------
>Я то думаю, чёйта он тут выпендривается...
>А оказывается скопипастил бенчмарк
>
>http://www.citi.umich.edu/projects/linux-scalability/reports...

Ага, создают потоки той же функцией, вот так копипаст, прямо один-в-один!  

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

47. "настоящий тест"  +/
Сообщение от Вова on 07-Май-10, 09:20 
>    В течении пары лет либо 1) все дистрибутивы
>будут содержать глобальное выставление LD_PRELOAD=...jemalloc.so (либо другой) либо 2) глибс будет
>содержать этот аллокатор

не прошло и месяца:

http://sourceware.org/git/?p=glibc.git;a=blob_plain;f=NEWS;h...

* The malloc implementation can be compiled to be less memory efficient
  but higher performing in multi-threaded programs.
  Implemented by Ulrich Drepper.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

38. "Менеджер распределения памяти jemalloc выпущен в виде отдель..."  +/
Сообщение от Sem email(??) on 14-Апр-10, 12:41 
Лучше бы профайлинг сделал.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

16. "Менеджер распределения памяти jemalloc выпущен в виде отдель..."  +1 +/
Сообщение от cvsup (ok) on 13-Апр-10, 09:22 
Забыли упомянуть, что в последние год-два jasone трудился под флагманом Фейсбука,
о чем красночериво говорят копирайты. jasone, возвращайся, ты нам нужен :)
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

18. "Менеджер распределения памяти jemalloc выпущен в виде отдель..."  –1 +/
Сообщение от sluge (ok) on 13-Апр-10, 10:05 
надо делать так чтобы glibc и другие стандартные биб-ки тоже его юзали-вот что даст настоящий прирост перфоманса
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

19. "Менеджер распределения памяти jemalloc выпущен в виде отдель..."  +/
Сообщение от Andrey Mitrofanov on 13-Апр-10, 10:38 
>надо делать так чтобы glibc и другие стандартные биб-ки тоже его юзали-вот
>что даст настоящий прирост перфоманса

Не нало -- это к Дрепперу. Не даст и не настоящий -- к павлинуксу тремя постами выше. Не в спортлотто, а в карты....

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

23. "Менеджер распределения памяти jemalloc выпущен в виде отдель..."  –1 +/
Сообщение от sluge (ok) on 13-Апр-10, 12:50 
ну если страшно сиди на малоке. никто ж не заставляет
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

25. "Менеджер распределения памяти jemalloc выпущен в виде отдель..."  +/
Сообщение от Andrey Mitrofanov on 13-Апр-10, 13:06 
Ой, извините, да, на этой недели Анонимы@опеннет ещё glibc не форкали===
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

30. "Менеджер распределения памяти jemalloc выпущен в виде отдель..."  +/
Сообщение от Аноним (??) on 13-Апр-10, 16:50 
>Ой, извините, да, на этой недели Анонимы@опеннет ещё glibc не форкали===

Ясно. КСВ. Сороковник стукнул, жена ушла, дочка беременная а квартира одна "распашонка" на весь колхоз? То то ты грустен в последних пару месяцев. Не растраивайся - будет хуже! :) Главное - не удавись втихую, а то senior арлекинов в этой местности - днём с огнём ...

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

33. "Менеджер распределения памяти jemalloc выпущен в виде отдель..."  +1 +/
Сообщение от Andrey Mitrofanov on 13-Апр-10, 17:33 
Доктор, не отвлекайся -- как свой glibc зарелизишь, ричи громче+
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

35. "достаточно юзать LD_PRELOAD=/usr/local/lib/jemalloc.so"  +/
Сообщение от Вова on 14-Апр-10, 10:59 
>надо делать так чтобы glibc и другие стандартные биб-ки тоже его юзали-вот
>что даст настоящий прирост перфоманса

в данный момент достаточно и LD_PRELOAD, а в следующие версии glibc, несомненно, этот (или подобный) аллокатор - войдёт.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

20. "Менеджер распределения памяти jemalloc выпущен в виде отдель..."  –1 +/
Сообщение от fooser on 13-Апр-10, 11:49 
Так вооот почему третья лиса течет памятью как сито...
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

24. "Менеджер распределения памяти jemalloc выпущен в виде отдель..."  +/
Сообщение от sluge (ok) on 13-Апр-10, 12:50 
>Так вооот почему третья лиса течет памятью как сито...

мож плугины текут?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

39. "Менеджер распределения памяти jemalloc выпущен в виде отдель..."  +/
Сообщение от Sem email(??) on 14-Апр-10, 12:44 
>>Так вооот почему третья лиса течет памятью как сито...
>
>мож плугины текут?

Да это мозг течет. Видимо спутал аллокатор с GC.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

31. "Менеджер распределения памяти jemalloc выпущен в виде отдель..."  +/
Сообщение от Ы on 13-Апр-10, 16:56 
>Так вооот почему третья лиса течет памятью как сито...

У лисы это родовое - фирменная фича тсссказать.
Без jemalloc'a ея бы уже просто закопали, а так ещё хоть как то умудряется ползать. Но не (краснея) не хром же или (с ужасом) оперу юзать! Вон яблоки переделывают вебкит "чтоб как в хрому" похоже и лиса пойдёт той же тропинкой ...

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

22. "Менеджер распределения памяти jemalloc выпущен в виде отдель..."  +/
Сообщение от dronord (??) on 13-Апр-10, 12:14 
какие подводные камни?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

26. "Менеджер распределения памяти jemalloc выпущен в виде отдель..."  +/
Сообщение от анонимус (??) on 13-Апр-10, 13:40 
Интересно будет ли профит если Qt-embedded for ARM собрать с этой библиотекой?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

43. "для использования ничего пересобирать не надо"  +/
Сообщение от Вова on 15-Апр-10, 09:56 
>Интересно будет ли профит если Qt-embedded for ARM собрать с этой библиотекой?
>

не надо пересобирать, необходимо только лишь задать LD_PRELOAD перед запуском приложения.
Впрочем, этот аллокатор ни под арм, ни под мипсы не компилируется,в сырцах используется ассемблерная вставка (команда "pause"), аналогов этой команды под встроенные системы сходу не обнаружил, подменил на "nop" - получил сегфалт при старте. Нужно советоваться с отцами.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

27. "Менеджер распределения памяти jemalloc выпущен в виде отдель..."  +/
Сообщение от VoDA (ok) on 13-Апр-10, 14:36 
и что только люди не делают чтобы не применять управляемую память =)
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

28. "Менеджер распределения памяти jemalloc выпущен в виде отдель..."  +1 +/
Сообщение от Anon on 13-Апр-10, 16:15 
Забыли написать о том, что этот аллокатор сливает гугловому ptmalloc'у
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

32. "Менеджер распределения памяти jemalloc выпущен в виде отдель..."  +/
Сообщение от Diogene the Open Source programmer on 13-Апр-10, 16:59 
>Забыли написать о том, что этот аллокатор сливает гугловому ptmalloc'у

Ты забыл указать на каких задачах. jemalloc - общесистемный, во фряхе начиная с 7, ptmalloc - вещь нишевая ...

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

46. "Менеджер распределения памяти jemalloc выпущен в виде отдель..."  +/
Сообщение от Sem email(??) on 16-Апр-10, 14:23 
>Забыли написать о том, что этот аллокатор сливает гугловому ptmalloc'у

Какое отношение ptmalloc имеет к гуглу? Может перепутал с tcmalloc?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

34. "отличная вещь"  +/
Сообщение от Вова on 13-Апр-10, 19:25 
на нормальных тестах разница ВЕСЬМА значительная
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2020 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру