Niedawno dowiedziałem się o jemalloc, jest to alokator pamięci używany przez firefox. Próbowałem włączyć integrację jemalloc do mojego systemu przez nadpisanie nowego operatora delete i wywołanie odpowiedników jemalloc malloc i free tj jemmicoc i je_free. Napisałem aplikację testową, która wykonuje 100 milionów alokacji. Uruchomiłem aplikację zarówno z malloc glibc jak i jemalloc, podczas gdy praca z jemalloc zajmuje mniej czasu na takie alokacje, wykorzystanie procesora jest dość wysokie, ponadto wydruk stopy pamięci jest również większy w porównaniu do malloc. Po przeczytaniu tego dokumentu na jemalloc analysis wydawało się, że jemalloc może mieć footprints większy niż malloc, ponieważ wykorzystuje techniki optymalizacji prędkości niż pamięci. Jednak nie mam żadnych wskaźników do użycia procesora z Jemalloc. Chciałbym powiedzieć, że pracuję na maszynie wieloprocesorowej, której szczegóły podano poniżej.Wykorzystanie procesora i pamięci przez jemalloc w porównaniu z malloc glibc
procesor 11 vendor_id: GenuineIntel procesora rodziny 6 Model 44 nazwa modelu Intel (R) Xeon (R) X5680 procesora @ 3,33 GHz krokowy 2 procesora MHz: wielkość 3325,117 cache: 12288 KB fizyczne ID: 1 rodzeństwa 12 rdzenia ID: 10 rdzeni procesora 6 apicid: 53 FPU: tak fpu_exception: tak poziom CPUID 11 WP: tak flagi: FPU VME de PSE TSC msr PAE jaw CX8 apic sep mtrr PGE MCA cmov pat pse36 clflush dts ACPI mmx fxsr SSE SSE2 ss ht tm syscall nx pdpe1gb rdtscp lm constant_tsc ida nonstop_tsc Arat PNI monitorować ds_cpl VMX SMX est TM2 ssse3 CX16 xtpr sse4_1 sse4_2 popcnt lahf_lm bogomipsy: 6649,91 wielkości clflush: 64 cache_alignment: 64 rozmiary: 40 bitów adresu fizycznych, 48 bitów wirtualnych zarządzania zasilania [8]
ja pomocą góry -c -b -d -p 24670 1,10 | awk -v czas = $ TIME '{czas wydruku, ",", 9 $}', aby śledzić użycie procesora.
Czy ktoś miał podobne doświadczenia podczas integracji Jemlloc?
Dzięki!
dzięki za komentarze Preet. Próbowałem dowiedzieć się, czy ktoś miał podobne obserwacje na jakiejkolwiek innej maszynie wieloprocesorowej. Całkowicie zgadzam się z tobą, że dokładna wydajność byłaby całkowicie zależna od sprzętu, jednak zastanawiałem się, czy wzór wykorzystania procesora powinien być taki sam, tj. Wyższy dla jemalloc w środowisku wieloprocesorowym env. – deb