实验室经常需要使用到matlab,for循环非常慢,自己找了一些matlab中for循环的优化方法,for的部分每处理一个大矩阵都要花费大量的时间,这是不可避免需要遇到的问题~。

方法1:循环多不要紧,要紧的是循环嵌套得太多,要解决这个问题,需要从根本上找原因,用更好的数据结构和算法,从根源上减少对于循环的需求

方法2:将循环次数多的放在里面,循环次数少的放在外面做大循环

方法3:for循环中少用if——else if判断,用switch——case,效率更高

方法4:多线程并发替代单循环么,尽可能利用CPU

for(int i = 0; i < 100; ++i)

{

a[i] = xxx;

}

优化:

for(int i = 0; i < 25; i += 4)

{

a[i] = xxx;

a[i + 1] = xxx;

a[i + 2] = xxx;

a[i + 3] = xxx;

}

减少循环次数,而且还能意外增加指令级的并行运算几率,其次,用多线程,最简单的就是openmp。要是对数据的处理,就用SSE指令什么的。

这样下来。整个程序不不止快那么一点点

方法5:结合具体的循环,利用时间和空间的相互转换,也就是用空间换时间

方法6:vectorization(向量化)处理后,效率也有很大提高

方法7:最基本的方面,别在窗口中显示矩阵,每条语句的结尾加分号

方法8:找一台性能好的电脑,用服务器跑那就更好了!

在高性能计算领域,优化这种涉及到一些算法的东西不可能随随便便地告诉别人,尤其是双线性插值优化,在65nm的Core2 Duo上优化度超过300%(别人说的,我也不会~)。所以优化不能一拍脑袋就做,需要结合具体的实际情况,找到优化的方法。

for循环次数太多的时间优化_matlab for循环过大程序运行慢解决方案相关推荐

  1. for循环次数太多的时间优化_for循环关于对象长度优化思考

    一.for循环对象长度两种写法 最近看到很多代码,各种语言,在写for循环的时候并没有把长度提取出来,而是每次遍历的时候进行计算. $str = 'bye 2019, hi 2020!'; for ( ...

  2. Mysql过长的Sql语句优化:在循环中调用存储过程运行动态语句

    在批量查询的时候,有时为了提高检索效率,会使用Unique配合IN查询.此时注意IN中不要写子查询,否则时间复杂度会大大增加.不过对于已经确定的检索范围,如果有Unique索引,效率还是可以的. 但有 ...

  3. Android系统优化(65)---MTK 平台开关机、重启时间优化

    开关机.重启时间优化   一.开关机.重启时间优化: 开机性能优化:是用功能和其它因素多方面平衡的结果,片面追求单方面的性能没有太大意义:有些产品设计开机动画非常酷炫,动画图片过多.高帧率会影响开机速 ...

  4. Android 系统性能优化(57)---MTK 平台开关机、重启时间优化

    MTK 平台开关机.重启时间优化  开关机.重启时间优化   开机性能优化:是用功能和其它因素多方面平衡的结果,片面追求单方面的性能没有太大意义:  有些产品设计开机动画非常酷炫,动画图片过多.高帧率 ...

  5. Android手机开关机、重启时间优化

    本篇文章主要介绍 Android 开发中开关机 重启时间 部分知识点,通过阅读本篇文章,您将收获以下内容: zygote,预加载class.resources 开机动画进程 bootanimation ...

  6. 手机开关机、重启时间优化方案

    极力推荐文章:欢迎收藏 Android 干货分享 本篇文章主要介绍 Android 开发中 开关机 重启时间 部分知识点,通过阅读本篇文章,您将收获以下内容: 一. zygote,预加载class.r ...

  7. Rust和C / C ++的跨语言链接时间优化LTO

    Rust和C / C ++的跨语言链接时间优化LTO 链接时间优化(LTO)是LLVM实施整个程序优化的方法.跨语言LTO是Rust编译器中的一项新功能,使LLVM的链接时间优化可以在混合的C / C ...

  8. linux下bash脚本常用的十个技巧:显示执行脚本花费的时间,在脚本退出时杀死后台运行的程序,在脚本退出时跳出循环,读取命令行参数来决定循环次数

    文章目录 1.显示执行脚本花费的时间 2.在脚本退出时杀死后台运行的程序 3.在脚本退出时跳出循环 4.读取命令行参数来决定循环次数 1.显示执行脚本花费的时间 网址:bash - How to ge ...

  9. android动态设置冷启动图片拉伸变形,Android冷启动时间优化

    冷启动时间是指当用户点击你的app那一刻到系统调用Activity.onCreate()之间的时间段.在这个时间段内,WindowManager会先加载app主题样式中的windowBackgroun ...

最新文章

  1. centos 7 安装GTK+-2.0
  2. 深度探索Hyperledger技术与应用之超级账本初体验(附部署代码)
  3. laravel的日志服务
  4. 关于git fetch 和git pull 的区别
  5. SQLServer-sysobjects-type
  6. 三星android5.0基带,三星首款5G手机没用高通!问题来了:5G基带哪家强?
  7. vb.net 机器学习-候选消除法
  8. 光学基础 光学积分器-通光管及透镜阵列
  9. MySql Workbench 安全模式(safe mode)
  10. JAVA基础知识总结:二十一
  11. 使用dva框架的总结
  12. Android小说阅读器案例
  13. 如何使用U盘替换光驱引导部署WES7系统
  14. 阵列卡直通模式和raid模式_服务器通过RAID也可以在线扩容?学会这些,你也可以...
  15. 笔记本电脑耳机插入后声音还是外放的解决办法
  16. html 通过name选择器,用name方式获得选择器总结
  17. JavaScript系列(一):浏览器及内核介绍
  18. Cesium竖直飞线
  19. 基于CNN的微信二维码引擎OpenCV开源!
  20. 卸载linux+nvidia驱动,如何完全卸载nvidia驱动程序?

热门文章

  1. 操作系统镜像下载【windows+linux+mac】
  2. 易图通: 路口三维实景导航面面观
  3. OneTab: 一键合并所有 Chrome 浏览器标签页
  4. 中国著名画家司志明画伟人获全国画界称赞,单幅被拍出65万
  5. 有一种爱,我们不能称之为爱情
  6. 实用技巧(二)——文本工具、自由变换
  7. html a标签 onload,动态加载script和css标签的onload问题
  8. TMS320F28034PNT 德州TI 具有 60MHz 频率、128KB 闪存的 C2000™ 32 位 MCU
  9. 如何通便清肠快速见效_为什么有时候会一连几天没有排便?如何快速清肠通便?...
  10. AmapUtil--高德地图工具类