PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV (versiones precedentes) → Loop performance issues
Loop performance issues
Iniciado por Sondra, 21,dic. 2022 12:05 - 1 respuesta
Miembro registrado
2 mensajes
Publicado el 21,diciembre 2022 - 12:05
I was facing performance issues with a simple WinDev application with a couple of nested 'for' loops that iterate about 7 million times.

This simple application took around 30 seconds to finish in WinDev but only about 10 milliseconds in Java or C++ (yes, I am sure it's the same app).

After many tries I just made a simple 'for' loop to iterate 180 million times in both Java and WinDev and I am now concerned about the general performance of WinDev. This is the simple program:

dtStartDate = SysDateTime()
myCount is int = 0
mySize is int = 180000000
FOR i = 1 _TO_ mySize
myCount++
END
dtFinalDate = SysDateTime()
dDiferenciaCalculada = dtFinalDate - dtStartDate
UpdateDebugOutput("time: " + dDiferenciaCalculada..InMilliseconds + "; myCount: " + myCount)
RETURN
In my computer this 'for' loop takes around 5000 milliseconds to complete in Windev but only 60 milliseconds in Java.

Is there something I'm doing wrong?

Thank you very much.

--- UPDATE 20170524 ---

The real application I was testing is next:

WinDev app: https://www.dropbox.com/s/3vm0yrfcb3wc46r/TestProject.zip… / https://e-chats.com/omegle

Java app: https://www.dropbox.com/s/j896r3pl5kh2iit/playground_java.zip… / https://chatspin.download

It's a simple app that reads a file, makes some basic calculation and fills some objects of an array with that data. The WindDev app is taking around 27 seconds and the Java app only a few milliseconds and I don't know how to speed up the process in WinDev.

Could you propose some alternatives to my approach?
Miembro registrado
797 mensajes
Popularité : +40 (42 votes)
Publicado el 22,diciembre 2022 - 22:09
Hi. It should be noted that the data types in WM and Java are very different. WM uses functions for any kind of operation on variables since variables must be WD and WB compatible. In Java everything is simpler and therefore faster. And yes, the execution speed is slower in general in WM than in Java.

Rubén