Atentos a std::move 🙂

http://blogs.msdn.com/b/vcblog/archive/2009/06/23/stl-performance.aspx

El post habla por si solo. Simplemente tenía curiosidad por saber que había por Google sobre las STL, ya que a mi parecer aunque son Thread Safe, son lentas como contenedores. Depende de con que lo compares son extremadamente rápidas claro. Pero no hay nada como una clase Array con las funciones necesarias. Se nota el aumento de rendimiento pero claro, las STL son diseñadas para un propósito general. La duda me asaltó cuando vi en una issue de la librería de física Bullet, un parche subido con contenedores STL y alguien dijo que el uso de las STL en Bullet era totalmente inaceptable 😀 y claro… si buscas optimización… tiene toda la razón.

No obstante no creo que las STL sean una mala librería, para nada, pero en el mundo del programador de C/C++ nos gusta bastante optimizarlo todo, yo al menos soy bastante friki con estos temas, no como desearía pero lo soy. Con decir que me he llevado 10 años con un PC AMD Athlon XP 1500+ 640MB de memoria y programé ahí mi implementación del Deferred Rendering… xD y siempre ejecutaba todo en DEBUG, si iba mal en debug tocaba iteración de profiling y optimización.

Me encanta C/C++, si bien es cierto que como siempre digo tienes toda la cuerda para hacer lo que quieras, absolutamente todo, pero también tienes la misma cuerda para ahorcarte.