Qué asignadores están disponibles para usar con STL cuando se trata de objetos pequeños. Ya he intentado jugar con los asignadores de grupo de Boost, pero no obtuve ninguna mejora en el rendimiento (de hecho, en algunos casos hubo una degradación considerable).C++ Asignadores conforme a STL
Respuesta
No dijo qué compilador usa, pero probablemente viene con un grupo de asignadores preconstruidos. Esto es en 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
Aquí también un enlace a la página BitMagic proyecto que habla de cómo construir su propia. También consulte el asignador de objetos pequeños en el Loki library (y el book también).
La implementación de la biblioteca estándar de Microsoft Visual C++ proporciona several proprietary allocators para contenedores basados en nodos (al menos a partir del próximo lanzamiento de Visual Studio 2010).
Necesita un asignador que sea adecuado para sus necesidades específicas. El asignador genérico de STL es el mejor para la gran variedad de circunstancias, y si quiere un nuevo asignador, tendrá que perfilar y comprender sus requisitos específicos. Tendrás que ser más específico sobre en qué contenedor vas a colocar estos objetos.
- 1. C++ Pregunta STL: asignadores
- 2. Asignadores de STL y operador nuevo []
- 3. compatibilidad del compilador para asignadores con estado en contenedores STL
- 4. C++: Asignadores de memoria
- 5. Asignadores personalizados STL para administrar diferentes espacios de memoria
- 6. ¿Los asignadores personalizados en STL solo asignan los datos reales?
- 7. C Analógico a STL
- 8. ¿Ejemplos convincentes de asignadores de C++ personalizados?
- 9. Contenedor STL: Parámetro del asignador de constructor y asignadores de ámbito
- 10. Asignadores de memoria de subprocesos múltiples para C/C++
- 11. Buena biblioteca similar a STL para C
- 12. C equivalente de C++ STL
- 13. C++ STL con jemalloc
- 14. RAII y C++ STL
- 15. C++ UNICODE y STL
- 16. C++: STL multimap.equal_range()
- 17. Búsqueda binaria C++ STL
- 18. C error STL ++ quitar
- 19. C++ sin STL
- 20. (C) ¿Tácticas de implementación para los asignadores de pila?
- 21. cadenas Relleno STL en C++
- 22. Expresiones regulares en C++ STL
- 23. Asignadores de C++, pasando específicamente argumentos de constructor a los objetos asignados con boost :: interprocess :: cached_adaptive_pool
- 24. ¿Es esta implementación SQL-92 conforme?
- 25. Cómo aplicar la transformación a un mapa STL en C++
- 26. Uso de múltiples asignadores de manera eficiente
- 27. ¿Por qué Javadoc genera XHTML no conforme?
- 28. asignador STL, constructor de copia de otro tipo, remapean
- 29. ¿Un buen C equivalente al vector STL?
- 30. C++ Vectores STL: Obtener iterador del índice?