matlab python c的循环比较
来源:互联网 发布:微信支付php源码 编辑:程序博客网 时间:2024/05/28 11:50
最近在matlab中进行一个回归实验中需要使用一个三层for循环,结果速度很慢,让我犹豫是否该切换到python上做此项工作,因此决定做一个循环运行时间的比较
- matlab中的循环
function test_speed()tic;for i=1:10 for j=1:2000 for k=1:20000 a = i + j + k; end endendtoc;end
运行时间为1.523684 秒。
function test_speed()tic;for k=1:20000 for j=1:2000 for i=1:10 a = i + j + k; end endendtoc;end
将上述循环次序从新排列后(外层循环次数更多),运行时间为3.322692秒。说明从网上某些资料说明的在matlab中要将循环次数更多的代码放到内层循环是有道理的。
- python中的循环
import time;i=1ticks_b = time.time();while(i < 10): j=1 while(j < 2000): k=1 while(k < 20000): a = i + j + k #print (i,j,k,a), k += 1 j += 1 i += 1ticks_e = time.time();print (ticks_e-ticks_b,i,j,k,a);
看到输出的时间约为94.51399993896484秒,可见比matlab要慢得太多。
在调整循环次序排列(外层循环次数更多),运行时间为104.70000004768372。也体现出了应将循环次数更多的代码放到内层循环。
- c中的循环
int _tmain(int argc, _TCHAR* argv[]){int a = 0;DWORD b = ::GetTickCount();for (int i=1; i<=10; ++i){for (int j=1; j <= 2000; ++j){for (int k=1; k <= 20000; ++k){a = i + j + k;}}}printf ("%d %d\r\n", ::GetTickCount() - b, a);return 0;}
在debug下运行输出为998,在release下运行输出为312.
所以目前的结论是:还是继续在matlab中做实验吧,暂时忘掉python!
- matlab python c的循环比较
- FORCAL与C/C++、MATLAB、Python、Lua等各种语言的速度比较
- Lu与C/C++、Forcal、MATLAB、Python、Lua等各种语言的速度比较
- Matlab与Python的语法比较
- 三种语言递归效率的比较matlab,python,c,lisp....
- matlab for循环 比较不一样
- python与C的比较
- 比较R语言、perl语言,matlab中for循环和while循环的使用
- MATLAB 与python reshape 比较
- 语法比较:Julia,Matlab,Python
- OpenCV (C++ vs Python) vs MATLAB for Computer Vision - OpenCV(C++ 与 Python 的比较)与 MATLAB 的比较
- matlab的parfor循环
- matlab 的循环
- Python 的 map、列表推导、循环效率比较
- C++、java和matlab最近使用的一些比较
- [C++]一个我比较常用的循环双向链表
- C语言几种循环的比较"黑马程序员"
- OpenCV(C++ 与 Python 的比较)与 MATLAB 的比较
- Java发HTTP POST请求(内容为xml格式)
- 动态二维数组的使用,在这里讨论
- perl笔记(2)-数据结构
- ANT下载与配置
- Training 贪心
- matlab python c的循环比较
- REDIS字典(dict)
- 背包问题源码
- 关于计算机研究和写作的链接收集
- PG常用的几个查询(1)
- 关于Http Post Xml
- postgresql streaming replication
- linux用户和组帐户管理
- C++程序怎样调用exe可执行文件