Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





STL STRING versus STR*

Iniciado por Astat, 01 de Enero de 1970, 01:00:00 AM

« anterior - próximo »

Astat

                                Bueno, acabo de hablabar en el canal de irc con Yuio sobre el tema de usar o no las STL en la programacion de juegos...

Al final lo de siempre, unos que si, otros que no, que si va lento, que si va rapido... asi que he hecho un test de velocidad de lo que mas uso de las stl, las STRING.

Los resultados son los siguientes:

REPETICIONES   FUNCION      TIEMPO

10000      strcpy()   288.86ns
10000      stl::=      541.41ns

10000      stcat()      912743.94ns
10000      stl::+=      69568.34ns

10000      strlen()   0.84ns
10000      stl::size()   1.12ns

10000      malloc+free   7528.33ns
10000      new+delete   9852.93ns


Que cada uno saque sus conclusiones.

Si tengo tiempo (y sobre todo ganas :triste:) hare otros test parecidos con listas, vectores y mapas.

Un saludo... udo

PD
hecho en mi Athlon/ThunderBird 800mHz. 512ram con Visual C++ 6.0 SP4
Si alguien quiere el codigo para comparar, que lo diga :sonriendo:                                

Eurisko

                                Hombre, un dato mas para los amantes de la estadistica XDDDDDD

Tendrias ke hacercete un test del tiempo ke tardas en pelartela con la izq y con la der en diferentes condiciones XDDD

Ala                                

Grugnorr

                                Uhm... espero que no digas que las STL son más lentas porque los std::string lo sean.

Haz pruebas con las estructuras de datos y no creo que sean más lentas que las que hagas manualmente, pero seguro :lengua: .

std::string es una clase que se usa por comodidad, pero no creo que la uses mucho en un juego, sobre todo en el loop principal...
                               
hat the hells!

Astat

                                Hombre, Eurisko, lo de las pajas depende de si me la hago solo pensando en ti, o si me la haces tu como todos los sabados cuando me paso por donde curras (chueca). :guay: Si es contigo, ya sabes que me corro enseguida porque me pones a 100!!! XDD

Grugnorr, yo no digo que sean mas lentas (que evidentemente lo son), lo dicen los datos. Y precisamente el test lo hize con las string, porque es lo que mas uso.

Cuando tenga algo de tiempo, hare pruebas con los vectores, mapas y listas para ver que tal tiran.

Y si, se usan en juegos (comerciales, me refiero). Lo que pasa es que tienen sus detractores y gente que las usa (como pasa con todo). Me gustaria pensar que bien usadas, no tienen porque ser mas lentas que sus versiones hechas a mano (evidentemente NO creo que sean igual o mas rapidas).

                               

Grugnorr

                                "Grugnorr, yo no digo que sean mas lentas (que evidentemente lo son), lo dicen los datos. Y precisamente el test lo hize con las string, porque es lo que mas uso."

.-std::string sí es más lento que manejar char* y funciones, y más typesafe y más cómodo y...

.-Espero que hagas las pruebas pertinentes con las estructuras de datos, porque no creo que tú(ni yo, ni nadie en general) las implemente más rápido.

.-Entiendes como están implementadas las STL, templates y demás?. No usa ningún método virtual ni nada que pueda ralentizar "apreciablemente" el programa.

.-Ya nos contarás...
                               
hat the hells!






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.