Attualmente sto tentando di scrivere un grafico di scena 2D in C, e ho bisogno di decidere su un modo di memorizzare i nodi figlio. Mi aspetto molte letture e poche scritture, quindi una lista concatenata è fuori questione a causa della scarsa localizzazione territoriale di riferimento e l'uso di realloc
ogni volta per aggiungere un nodo figlio probabilmente frammenterebbe la lista libera in oblio. Un pool allocator sembra essere la soluzione migliore, ma non riesco a trovare alcuna implementazione da utilizzare. Qualcuno sa di un allocatore che gestirà in modo efficiente allocazioni e allocazioni casuali di poche centinaia di piccole struct
s, o forse uno schema di allocazione migliore?Allocatore pool C efficiente?
risposta
mi sto preparando a distribuire TLSF come allocatore in tempo reale. Non ho ancora avuto la possibilità di delineare le sue prestazioni, ma sembra funzionare, e il license ha ragione.
Secondo i loro documenti, le sue operazioni eseguono "un massimo di 168 istruzioni del processore in un'architettura x86". Si presenta come un singolo file .C, che è stato compilato senza modifiche sul mio sistema.
Dai un'occhiata a halloc, potrebbe essere di aiuto.
'halloc' sembra interessante, ma funziona ancora su' malloc', quindi il problema della frammentazione rimane, anche se suppongo che potrebbe rivelarsi utile come punto di partenza per un allocatore di pool. – Electro
- 1. Allocatore personalizzato (pool) con boost shared_ptr
- 2. Esiste un'elegante implementazione C++ di allocatore a dimensione fissa?
- 3. Come scrivere un allocatore di memoria thread-safe ed efficiente, senza lock in C?
- 4. Miglioramenti per questo allocatore di stack C++?
- 5. Allocatore stack per contenitori standard C++ 03
- 6. Allocatore/gestore di memoria personalizzato in C? quale approccio?
- 7. Pool di thread C++
- 8. Benchmark utilizzati per testare un allocatore C e C++?
- 9. allocatore oggetti piccoli
- 10. Boost piscina allocatore più lento di nuovo
- 11. Suggerimento allocatore di memoria
- 12. Qt/C++: disegno efficiente
- 13. Perché questo allocatore di C++ STL non si assegna?
- 14. Un'implementazione STL che utilizza un allocatore dinamico/a stato?
- 15. Allocatore personalizzato in std :: vector
- 16. C/C++ più efficiente se valutazione dell'istruzione
- 17. Matrice di bit efficiente C/C++
- 18. cosa vuol dire allocatore in STL
- 19. C: libreria del pool di memoria?
- 20. Ottimizzazione del pool di applicazioni in C#
- 21. Pool di memoria e buffer C++
- 22. Pool di thread C# "Fixed"/"Load Balanced"?
- 23. suggerimenti per migliorare un'implementazione dell'algoritmo allocatore
- 24. Utilizzare un allocatore personalizzato con boost :: bimap
- 25. Come si svita un allocatore di memoria?
- 26. Pool di stringhe vs Pool costante
- 27. Gestione efficiente delle immagini in C#
- 28. Efficiente regressione lineare multipla in C#/.Net
- 29. efficiente Singleton thread-safe in C++
- 30. C# Winform: visualizzazione efficiente di molti controlli
il link è rotto – CAFxX
@CAFxX - Vergogna. Google mi trova alcuni siti alternativi, ma nessuno sembra essere ufficiale. Spero che cambierà. –
Yay! Grazie per la correzione, @Electro. Dandoti un voto semi-casuale. Segna un'altra vittoria per la conoscenza di massa. –