MetaTrader 5 Python用户组 - 如何在Metatrader中使用Python - 页 23

 
Lyuk:


唯一可悲的是,在过去的15年里,数字计算者只加快了大约12倍,我以为现代CPU的速度更快。

我有一个旧的i7-3770K,已经七年了。今天的CPU更快。

 
Roman:

我有一个旧的i7-3770K,已经七年了。现代CPU的速度更快。

唉,你的3770K很容易超频到4.8Ghz,即使它将是更古老的2600K,你将达到超频的天堂,整个观点是倾向于减少CPU的大小,导致冷却问题。例如,6xxx甚至在超频方面都是一个问题。总的来说,除了最新的i9变得更像xeons外,用户的规格没有什么变化。相对于普通消费者的CPU,赛昂的优势在于能源效率。所以你的3770k对于普通用户来说还是很正常的。

 
一个关于处理器测试的主题,作者在收集统计数据方面做得很好。
如果你有兴趣,你可以测试你的处理器。
Оцениваем ядра CPU для оптимизации
Оцениваем ядра CPU для оптимизации
  • 2019.08.09
  • www.mql5.com
Предлагаю собрать статистику по производительности разных процессоров с целью оценки их эффективности для работы тестера стратегий в режиме оптимиз...
 

具有2个AMD FX核心的Windows7 32位虚拟机上 进行了测试。

在mql5上,它是6秒。

在Python上,有一条线是2.5秒。

这是一个很大的速度 ,甚至比你在I7上的一个线程还要快,这很惊人。

显然,jit编译器对AMD更有效,或者说AMD对这类任务更好。

 
因此,带有jit编译器的Python比C(mql)多出2倍!如果你在现代8核处理器上运行它,它比C多出8倍,仅仅是因为它是多线程的。

好吧,正常的测试,允许在python中撞出完全符合IEEE标准的数据(fastmath=true),那么你需要把-Ofast也塞给syshka。再有就是OpenMP,用它来并行化循环--[多了几行](https://www.ibm.com/developerworks/ru/library/au-aix-openmp-framework/index.html)。

抽象的爱好者们...如果在python的基础上有另一个附加组件,怎么办?如果还有一个人呢?编译成虚拟机 虚拟机的字节码。

 

不幸的是,有数不清的算法可以被分解为并行的。

给出的圆周率计算的例子只是为了演示这种合成测试。C++中的OpenMP也是这样做的。在MQL5中用OpenCL可以做得更快。

 

我在Visual Studio中发现了这样一个用于循环的并行性参数。
我们能否在mql中也实现这样的指令?
还是说mql中的循环默认是并联的?

vs

 
Roman:

我在Visual Studio中发现了这样一个用于循环的并行性参数。
我们能否在mql中也实现这样的指令?
还是说mql中的循环默认是并联的?

在过去的10年里,我没有设法在Visual Studio(以及其他所有的)中看到这个参数的使用。甚至在打开了环形展开报告的所有旗帜后。

它根本不起作用,甚至在有很多并行化可能性的大型项目中也不起作用。只有直接的OpenMP与手动标记的循环可以工作。

在MQL5中,这些循环没有被并联。

 
Renat Fatkhullin:

不幸的是,有数不清的算法可以被分解成并行的。

给出的圆周率计算的例子只是为了演示这种合成测试。在C++中的OpenMP也是这样做的。在MQL5中用OpenCL可以做得更快。

我在博客上发布了一个计算方法,与之完全相似。不幸的是,OpenCL信息的水平,需要比我的能力高得多。

我希望看到一个简单的OpenCL实现的例子(就像在博客中),以及加速的结果。

 
fxsaber:

我在博客上发布了一个计算方法,与之完全相似。不幸的是,OpenCL信息的水平,需要比我高得多的能力。

我希望看到一个简单的OpenCL实现的例子(就像在博客中),以及加速的结果。

偏离了OpCl的主题,但在Python的主题上

视觉上相似的情况也有相当好的定义(增量分布)。

注意0-6小时的组别(按GMT+2)。

10年中的几个月

10年内的小时数