Árvore de páginas

La dos funciones, tanto GetMV() como SuperGetMV() retornan el contenido de un parámetro, la diferencia está en que, en la SuperGetMV los parámetros consultados se agregan en un área de memoria, que permite que en una nueva consulta no sea necesario acceder y buscar el parámetro en la base de datos.

Realizamos una prueba comparando los dos desempeños en una repetición de 100.000 veces.

 

Tiempo utilizado con la función SuperGetMV: 5.843

 

Tiempo utilizado con la función GetMV : 60.122

 

 
Prueba:
// SuperGetMVVsGetMVTest.prw
#INCLUDE "TOTVS.CH"
Static nVezes := 100000 // Contador de repeticiones
Function SuperGetMVVsGetMVTest()
// Realiza la preparación de entornos
RpcSetEnv("T1", "D MG 01") // Empresa y Sucursal
// Realiza pausa
Sleep(5000)
TestSupGMV()
TestGetMV()
//Fecha entorno
RPCClearEnv()
Return
// Prueba SuperGetMV
Static Function TestSupGMV()
Local nSeconds := 0 // Segundos en que se inició la rutina
Local cRet := "" // De la prueba de la función
Local nX := 0 // Contador de repeticiones
nSeconds := Seconds()
For nX := 1 To nVezes
cRet := SuperGetMV("MV_PAIS" , .T., "BRA")
cRet := SuperGetMV("MV_CLIPAD", .T., "000001")
Next
ConOut("Tiempo: " + AllTrim(Str(Seconds() - nSeconds)) )
Return
//Prueba GetMV
Static Function TestGetMV()
Local nSeconds := 0 // Segundos en que se inició la rutina
Local cRet := "" // De la prueba de la función
Local nX := 0 // Contador de repeticiones
nSeconds := Seconds()
For nX := 1 To nVezes
cRet := GetMV("MV_PAIS")
cRet := GetMV("MV_CLIPAD")
Next
ConOut("Tiempo: " + AllTrim(Str(Seconds() - nSeconds)) )
Return

  • Sem rótulos