首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >循环性能问题

循环性能问题
EN

Stack Overflow用户
提问于 2017-05-23 09:06:38
回答 1查看 393关注 0票数 0

我遇到了一个简单的WinDev应用程序的性能问题,它有几个嵌套的“for”循环,迭代次数约为700万次。

这个简单的应用程序在WinDev中花费了大约30秒的时间,但在Java或C++中仅需10毫秒(是的,我确信它是同一个应用程序)。

经过多次尝试,我只是做了一个简单的'for‘循环,在Java和WinDev中迭代1.8亿次,现在我关心的是WinDev的一般性能。这是一个简单的程序:

代码语言:javascript
运行
复制
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

在我的计算机中,这个“for”循环需要大约5000毫秒的时间来完成,而在Java中只需要60毫秒。

我做错什么了吗?

非常感谢。

-更新20170524 --

我正在测试的真正应用程序是下一个:

WinDev应用程序:https://www.dropbox.com/s/3vm0yrfcb3wc46r/TestProject.zip?dl=0

Java应用:java.zip?dl=0

这是一个简单的应用程序,可以读取文件,进行一些基本的计算,并用这些数据填充数组中的一些对象。WindDev应用程序大约需要27秒,而Java应用程序只需几毫秒,我不知道如何在WinDev中加速这个过程。

你能提出一些替代我的方法吗?

EN

回答 1

Stack Overflow用户

发布于 2017-05-24 05:46:31

温德夫不是最快的,而且到目前为止。但你不会因为这个而选择温德夫。在这种情况下,使用并行函数可以明显地加快程序的速度。

更新24/05/2017 - 09:24

糟糕的是,温德夫或多或少地遵循了C#语言的演进,但他们没有实现C# Parallel.For。如果您真的想加快工作速度,并且只在Windows上工作,则可以使用.Net库来完成函数的脏工作,并使用您从应用程序中调用的Parallel.For温德夫在.Net库中非常顺利地工作。

更新24/05/2017 - 10:58,当然我没有分享正确的链接:http://doc.windev.com/en-US/?2012002

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44130407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档