matlab程序优化以及eclipse与github的结合

最近实验室电脑的ff不知怎么老是崩溃,就只好转到很讨厌的多进程的chrome上面了(好像二者内存占用差不多的样子,不过chrome总是一个标签一个进程好难过)

由于对scribefire的偏爱,只好重新配置一下了,在把github pages搞定之前,博文就发到oschina比较好呢

闲言少叙,很久没有发博文总结了,正好定定自己的内心,耐心的把最近的东西总结一下

1.matlab时间函数

最近程序跑的很慢,于是就想到了优化的一些东东,首先先看哪些函数跑的慢啦

初级手段:tic;toc;

tic是matlab开始一个计时器timer,toc则记录从计时器到该时刻的时间,一般都是用cpu time来表示

一般来说一个程序只需要一个tic就可以了,如果需要看特定的时间间隔,可以使用

b=tic;
program;
toc(b);

就可以决定查看从哪个时间点到现在的时间间隔了

中级手段:profile

profile有几种开启方法,第一种是从菜单栏“desktop”-“profiler”进入,选择代码文件,运行,运行之后会生成一个类似于htm帮助文件的东西供查看,从中我们就可以看出每个函数的运行时间,并且在生成的文件里,函数运行时间越长,其标注的颜色就会越鲜艳

第二种就是在代码中加入了在程序开头

profile on

程序结束则

profsave(profile('info'),'要保存的文件名')

保证能够自动保存结果,程序结束一般会自动打开生成的profile文件

高级手段:额,高级,高级我怎么找不到了。。。

那我就顺便分享一下自己的估计时间代码好了,就是估计程序大概什么时候跑完,一般是循环里的,当然每次循环时间不一样啦,所以这只是一个没有优化的版本

abt=(snr-isnr)*bt;

s=datestr(datenum(clock+[0 0 0 0 0 abt]);)

disp(['estimated end time is',s]);
2.matlab 程序的优化手段

参考https://www.mathworks.cn/webex/recordings/cn_100422_SpeedingUpMatlab/index.html

没有看完,先总结一下好了

应该说matlab既然叫做矩阵实验室,那么其最重要的一个特性就是矩阵运算非常的快,这似乎还是相对于c语言而言,因为其能够对矩阵整体操作,使得c语言无法望其项背。

所以说,matlab优化一定要注意能不能将for循环转换为矩阵操作,赋值能不能矩阵整体赋值等等,甚至于(:)操作都要尽量避免

matlab由于存储数据一定要连续空间,预先分配空间,以及变量的重复利用也很关键。需要注意的是reshape是会重新分配空间的,所以并不能节省很大的性能。

并行操作也是一个很好的节约时间的方法,parfor以及spmd的应用,当然并行化的操作需要函数编写时注意可以并行才可以

3.github与eclipse结合

其实这个东西也纯属偶然了,因为抛弃了vs,而这个eclipse呢,每次总是弹出来git的提示框,烦死众人啊, 想想自己当年配置git过于繁琐结果放弃了,既然能够集成不如试一下好了,主要参考了

阿土的博客

http://www.blogjava.net/zJun/archive/2012/03/27/372752.html

二位关于egit的设置。

首先要在help->eclipse marketplace,然后在search tab页上find “egit”,找到后直接install.

当然可能是我的eclipse版本问题,没有搜到egit,而是在egit官方下载的地址找到贴入下载的,注意给出的下载地址要用eclipse下载而不是浏览器哦

下载后自然是安装了,安装完了之后我用eclipse生成了ssh key, 即在window-preferes-general-network-ssh2,点击key management,然后generate rsa key,然后保存private key 到自定义目录即可

然后export via sftp,弹出窗口填入[email protected],这样目录里的又多了一个known_hosts文件

用记事本把id_rsa.pub打开,复制内容到github网站里的ssh keys中即可

然后重启eclipse(file菜单里有重启选项)

 据阿土的博客描述,下一步就可以直接push了,然而我大概是操作有点问题吧,总之直接push的时候有些"rejected to fast to forward"错误,一直没有push上。所以就先import了github上的repository,即从file菜单中的import,填入git上的 项目url,将其import到本地。

修改之后再在项目上右键-team-commit。commit就是commit到本机的git库,然后选择push就可以与github上的同步了。

是不是很炫? 嘿嘿

你可能感兴趣的:(eclipse,总结,matlab)