Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





[VB6] Performance

Iniciado por Veehmot, 28 de Octubre de 2006, 03:25:50 PM

« anterior - próximo »

Veehmot

Algunas dudas con respecto a la performance..
Para copiar un array, que es lo mas rapido?

' esto
Array1 = Array2
' o esto?
Redim Array1(LBound(Array2) To Ubound(Array2))
Call CopyMemory(Array1(LBound(Array1)),Array2(LBound(Array1)), Ubound(Array2) - LBound(Array2) + 1)


Porque escuche hablar de una copia verbatim.. no se que significa, alguien me puede explicar?

Tambien, queria sabre si se gana performance visible el cambiar las igualaciones del tipo

If (String1 = String2) Then ...
' por
If (strcompi(String1,String2) = 0) Then...


Otro ejemplo, el Len()

If Len(String) = 0 Then ...
' por
If lstrlen(String) = 0 Then...


Ademas, queria saber si alguien me recomienda un link donde expliquen un poco estas cosas... sobre que sucede abajo de Visual Basic sin que nosotros lo sepamos..

Eso es todo, muchas gracias!

bnl

Ni idea.
Yo cuando tengo dudas de rendimiento lo que hago es ejecutar por separado las 2 (o mas opciones) muchisimas veces dentro de un bucle y tomar tiempos.
Asi que en 1 minuto puedes obtener la respuesta empiricamente.
Mi web: http://www.brausoft.com/
No sabían que era imposible, así que lo hicieron.

Tavo

Hola Veehmont!, mira, lo que podes hacer es provar las dos. En el primer caso, creo que el CopyMemory deberia andar mas rapido pero... viniendo de VB nunca se sabe.
Sobre lo de lstrlen() y Len(), no le encuentro mucha diferencia.
El strcomp() es una buena funcion, yo la estoy empezando a utilizar para comparaciones de dos strings

Saludos!

Veehmot

Cita de: "bnl"Ni idea.
Yo cuando tengo dudas de rendimiento lo que hago es ejecutar por separado las 2 (o mas opciones) muchisimas veces dentro de un bucle y tomar tiempos.
Asi que en 1 minuto puedes obtener la respuesta empiricamente.

Claro, eso me temi. Ahora, otro factor a tener en cuenta, es el consumo de RAM. ¿Algun metodo para evaluar el consumo RAM de las funciones?

bnl

Hay herramientas que te permiten medir el consumo de memoria y mil cosas mas, pero no conozco ninguna. Recuerdo que no hace mucho en un post alguien hablo de algunas herramientas para medirlo, busca un poco en el foro y seguro q encuentras el post.

El consumo de memoria total de un proceso lo puedes ver en el administrador de taread de windows.

Saludos
Mi web: http://www.brausoft.com/
No sabían que era imposible, así que lo hicieron.

Veehmot

Ok, compare la comparacion de strings.. y realmente me sorprendio que el de VB (string = string) es mas rapido que el lstrcmp(string,string)

Tavo

En VB desconozco alguna funcion para medir la memoria, pero una opcion es crear una DLL en VB y ahy poner varias funciones, despues hacer un programa en C/C++ que las use y calcule la memoria utilizada con el sizeof().
Es lo que se me ocurre, pero igual debe existir alguna herramienta...

Marci







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.