Ho provato diversi allocatori alcuni anni fa e la mia esperienza è che i risultati dipendono dal tipo di test.Se si desidera scrivere alcuni benchmark te stesso, considerare le seguenti situazioni:
- allocare molta memoria di un unico formato, quindi liberi tutto
- allocare molta memoria di dimensioni diverse, quindi liberi tutto
- allocare solo alcuni blocchi di memoria, liberarli e ripetere questo ciclo più volte (ripetere per blocchi di dimensioni uguali e blocchi di dimensioni diverse)
- allocare molta memoria di dimensioni diverse, metà libera di esso (ad es. allocazioni), quindi allocare e liberare memoria in un ciclo
- uso due fili di allocare memoria in parallelo
- uso tre, quattro, cinque, ... thread da allocare la memoria in parallelo
Si noterà che i risultati saranno differenti per ogni prova. Gli allocatori che sono molto bravi in una situazione, possono essere cattivi in altre situazioni.
In pratica ciò significa che è meglio testarlo nella propria applicazione, in una situazione dal vivo/realistica.
Quale aspetto di testare, velocità, frammentazione ecc.? –
Ho modificato per vostro suggerimento. Grazie. – Viet