Quali allocatori sono disponibili per l'uso con STL quando si tratta di oggetti di piccole dimensioni. Ho già provato a giocare con gli allocatori di pool di Boost, ma non ho ottenuto alcun miglioramento delle prestazioni (in realtà, in alcuni casi, c'era un notevole degrado).Allocatori conformi a STL C++
risposta
Non hai detto quale compilatore usi, ma probabilmente viene fornito con una serie di allocatori predefiniti. Questo è su un Mac con gcc 4.2.1:
~$ find /usr/include/c++/4.2.1/ -name "*allocator*" /usr/include/c++/4.2.1/bits/allocator.h /usr/include/c++/4.2.1/ext/array_allocator.h /usr/include/c++/4.2.1/ext/bitmap_allocator.h /usr/include/c++/4.2.1/ext/debug_allocator.h /usr/include/c++/4.2.1/ext/malloc_allocator.h /usr/include/c++/4.2.1/ext/mt_allocator.h /usr/include/c++/4.2.1/ext/new_allocator.h /usr/include/c++/4.2.1/ext/pool_allocator.h /usr/include/c++/4.2.1/ext/throw_allocator.h
Ecco anche un link alla pagina del progetto BitMagic che parla di come costruire il proprio. Controlla anche l'allocatore di oggetti di piccole dimensioni nel Loki library (e anche nello book).
L'implementazione della libreria standard Microsoft Visual C++ fornisce several proprietary allocators per i contenitori basati su nodo (almeno fino al prossimo rilascio di Visual Studio 2010).
È necessario un allocatore adatto alle proprie esigenze specifiche. L'allocatore generico STL è il migliore per l'enorme varietà di circostanze e, se si desidera un nuovo allocatore, è necessario definire e comprendere i requisiti specifici. Dovrai essere più specifico sul contenitore in cui mettere questi oggetti.
- 1. Allocatori e operatore STL nuovo []
- 2. Contenitori STL, conflitti SBO e allocatori personalizzati
- 3. C++: allocatori di memoria
- 4. Allocatori personalizzati STL per gestire diversi spazi di memoria
- 5. Alcuni allocatori sono pigri?
- 6. C++ stl convolution
- 7. C errore ++ STL rimuovere
- 8. RAII e C++ STL
- 9. C equivalente di C++ STL
- 10. Prestazioni degli allocatori personalizzati
- 11. C++ UNICODE e STL
- 12. Padding stl stringhe in C++
- 13. (C) Tattiche di implementazione per gli allocatori di heap?
- 14. Perché non ci sono funzionalità di riallocazione negli allocatori C++?
- 15. C++ STL pop_heap non funziona
- 16. Espressioni regolari in C++ STL
- 17. STL C++, iteratori costanti, find()
- 18. Come applicare una trasformazione a una mappa STL in C++
- 19. Limitazioni pratiche con assiemi non contrassegnati come conformi a CLS?
- 20. Gli allocatori personalizzati in AWL allocano solo i dati effettivi?
- 21. Contenitore stl riferito a Typedef
- 22. Gli alias di shell sono conformi a POSIX?
- 23. Come definire una matrice di oggetti conformi a un protocollo?
- 24. stl priority_queue di C++ con struct
- 25. Pre-allocare spazio per coda C++ STL
- 26. STL map to generic vector C++
- 27. C++ STL vettoriale: push_back prendendo riferimento
- 28. C++ mappa STL :: cancellare un inesistente chiave
- 29. Quali sono gli allocatori e quando è necessario il loro uso?
- 30. Utilizzo di STL con Android NDK C++