¿Alguien ha usado SmallObjectAllocator de Modern C++ Design de Andrei Alexandrescu en un gran proyecto? Quiero implementar este asignador, pero necesito algunas opiniones al respecto antes de usarlo en mi proyecto. Hice algunas pruebas y parece muy rápido, pero las pruebas se realizaron en un entorno de prueba pequeño. Quiero saber qué tan rápido es cuando hay muchos objetos pequeños (como eventos, punteros inteligentes, etc.) y cuánta memoria adicional usa.Asignador de objetos pequeños
7
A
Respuesta
12
Le sugiero que pregunte Rich Sposato. Ha trabajado extensamente en el pequeño asignador de objetos de Loki, incluidas pruebas y puntos de referencia.
2
¿Ha considerado usar Boost Pool Library?
Cuestiones relacionadas
- 1. El asignador de Linux no libera trozos pequeños de memoria
- 2. Usando el patrón del asignador de datos, ¿deberían las entidades (objetos de dominio) conocer al asignador?
- 3. EDI x12 asignador para fuentes de datos de objetos C#
- 4. Asignación eficiente de muchos objetos pequeños de vida corta
- 5. estrategia para asignar/liberar lotes de objetos pequeños
- 6. Sesión de ASP.NET: objeto grande frente a muchos objetos pequeños
- 7. std :: map rendimiento del asignador estándar versus asignador de bloque
- 8. Patrón de asignador de datos
- 9. ¿qué significa asignador de STL
- 10. std :: mapa asignador de trabajar
- 11. Asignador personalizado (pool) con impulso shared_ptr
- 12. ¿Cómo agrego una mezcla de Jackson a un lector y no al asignador de objetos?
- 13. Objeto basado en genéricos de C# para la consulta del asignador de objetos
- 14. Reemplazar el asignador STL predeterminado
- 15. Asignador personalizado en std :: vector
- 16. Asignador personalizado y miembro predeterminado
- 17. Experiencias de asignador de memoria escalable
- 18. Mejoras para este asignador de pila C++?
- 19. ¿Por qué hacer objetos pequeños y de larga duración una diferencia en la recolección de basura?
- 20. La forma más rápida de recuperar/almacenar millones de pequeños objetos binarios
- 21. Hacer pequeños ejecutables haskell?
- 22. Id de objeto fijo para objetos del sistema y enteros pequeños en Ruby
- 23. Use un asignador personalizado con boost :: bimap
- 24. Inicialización directa vs uniforme en std :: asignador
- 25. C++ STL asignador vs operador nueva
- 26. ORM asignador para Windows 7 teléfono
- 27. Establecer un asignador personalizado para cadenas
- 28. ¿Cómo se organizan sus pequeños cofres reutilizables?
- 29. ¿Se refactoriza en pequeños pasos?
- 30. Archivos pequeños y bloques HDFS
Creo que el libro prácticamente responde la mayoría de sus preguntas. Puede calcular fácilmente la sobrecarga de memoria desde el código fuente. Construye pruebas grandes, perfil. –
Creo que sería inteligente escuchar al autor del libro. Página de Rich Sposato http://www.richsposato.com/software.html –