IDL的高效编程(六)
文章目录
- 1.算法优化(减少idl变量内存占用的方法)
- 2.运行时间
- 1.tic toc 的使用
- 2.获取儒略日
- 3.编译规则
1.算法优化(减少idl变量内存占用的方法)
(当然,减小内存的需求是当你的数据量较大时,可采用以下方法,若数据量较小,则可忽略)
1.两种表达式书写方式:
(1)data1=data12
(2)data2=data12
很明显,(1)只开辟了一块内存,所以推荐使用(1)
2.data=!null
将程序中不用的变量设为空值,以释放内存
3.data=0B
4.data1=temporary(data)*10
执行语句之后,data会被释放掉
5.只能在命令行输入的:(控制台删除变量)
delvar,data
2.运行时间
1.tic toc 的使用
例子1:
pro test_li
tic
for i=1,10000000 do begini=i+10
endfor
toc
END
结果:tic,toc会给出程序运行的时间:
IDL> test_li
% Compiled module: TEST_LI.
% Time elapsed: 0.043999910 seconds.
IDL>
例子2:
pro test_li
; Grab the initial system time with TIC
TIC
for i=0, 3 do begin & $
; Start another clock named FFT
; combined with the iteration number
clock = TIC('FFT' + STRTRIM(i, 2)) & $
r = FFT(RANDOMU(seed, 1729, 1729)) & $; For each iteration grab the end system time,
; then calculate and and print out the elapsed time
TOC, clock & $
endfor
; Grab the final system for the entire loop
; and calculate and print the total elapsed time
TOC
END
结果:
IDL> test_li
% Compiled module: TEST_LI.
% Time elapsed FFT0: 0.46999979 seconds.
% Time elapsed FFT1: 0.44800019 seconds.
% Time elapsed FFT2: 0.47899985 seconds.
% Time elapsed FFT3: 0.45700002 seconds.
% Time elapsed: 1.8539999 seconds.
IDL>
2.获取儒略日
获取当前时间儒略日,并变换格式
IDL> print,format='(C())',systime(/julian)
Wed Apr 22 16:34:30 2020
IDL> print,systime(/julian)2458962.2
IDL>
3.编译规则
在进行ENVI/IDL二次开发时,常看到别人的程序里写着:
1.
IDL> compile_opt defint32
设置在程序里创建变量为32位,而不是默认的16位
2.
IDL> compile_opt strictarr
在此程序中使用严格的数组使用,即不可在用()来调用数组,必须使用[ ]
3.
IDL> compile_opt idl2
这个命令是上面两个命令的综合
IDL的高效编程(六)相关推荐
- 你不知道的18个Python高效编程技巧
来源 | Python编程时光 初识Python语言,觉得python满足了我上学时候对编程语言的所有要求.python语言的高效编程技巧让我们这些大学曾经苦逼学了四年c或者c++的人,兴奋的不行不行 ...
- Python可变数据类型高效编程
用 Python 做数据分析,主要的技术栈是 Python 基础和三驾马车 NumPy.Pandas 和 Matplotlib.先搞定 Python 基础吧. Python3 有六个标准数据类型 不可 ...
- [转]vb高效编程(优化)
本文适合任何水平的vb编程人员. 一.减少加载窗体数目 每一个加载的窗体,无论可视与否,都要占据一定数量的内存(其数量随窗体上控件的类型和数量,以及窗体上位图的大小等的不同而变化).只在需要显示时才加 ...
- c语言除法加速,干货!C语言高效编程与代码优化
原标题:干货!C语言高效编程与代码优化 译文链接:http://www.codeceo.com/article/c-high-performance-coding.html 英文原文:https:// ...
- c语言函数除法代码,C语言高效编程与代码优化~
原标题:C语言高效编程与代码优化~ 译文链接:http://www.codeceo.com/article/c-high-performance-coding.html 英文原文:https://ww ...
- 《C++面向对象高效编程(第2版)》——3.11 类名、成员函数名、参数类型和文档...
本节书摘来自异步社区出版社<C++面向对象高效编程(第2版)>一书中的第3章,第3.11节,作者: [美]Kayshav Dattatri,更多章节内容可以访问云栖社区"异步社区 ...
- python多线程挂了_python多线程输入的问题 python高效编程技巧13(如何在线程之间实现...
python3 创建线程时不用args传参,执行线程时为什如果创建线程时在target里就传入了参数,为什么在启动线程时,线程不是在Python多线程下,每个线程的执行方式: 有什么了不起,大不了继续 ...
- 《C++面向对象高效编程(第2版)》——2.29 泛化关系(is-a)
本节书摘来自异步社区出版社<C++面向对象高效编程(第2版)>一书中的第2章,第2.29节,作者: [美]Kayshav Dattatri,更多章节内容可以访问云栖社区"异步社区 ...
- 《C++面向对象高效编程(第2版)》——2.20 什么是多线程安全类
本节书摘来自异步社区出版社<C++面向对象高效编程(第2版)>一书中的第章,第2.20节,作者: [美]Kayshav Dattatri,更多章节内容可以访问云栖社区"异步社区& ...
最新文章
- 44.作用域,局部和全局变量
- 19年8月 字母哥 第六章 生命周期内的拦截过滤与监听 用热点公司网不行
- jquery点击非div区域隐藏div
- 【数据库】Oracle用户、授权、角色管理
- FTP文件共传输服务
- python(26)查看文件的大小
- spring 改变url
- java多线程【线程安全问题】
- Python使用递归法对整数进行因数分解
- Flask + Vue 搭建简易系统步骤总结
- 导入其他用户的EFS证书
- python数据分析:Numpy
- python编辑程序用print函数输出中国加油武汉加油_python练习1之print函数
- 深度学习 | MATLAB卷积神经网络原理描述
- STM32的定时器中断与实例
- vm安装centos,黑屏或黑屏且左上角有光标闪动
- 注册了DELPHI盒子
- 文献阅读—GAIN:Missing Data Imputation using Generative Adversarial Nets
- 现代处理器的设计思想
- python爬虫selenium和bs4_python爬虫――selenium+bs4爬取选股宝‘利好‘or’利空'股票信息...
热门文章
- Remote Dictionary Server(Redis)——基于 KV 结构的作为 Cache 使用的 NoSQL 数据库管理系统
- PAT乙级测试题1024(C语言实现)
- html5 游戏制作教程,【整理】一步一步学做HTML5游戏教程
- 一文解析App推广神器deeplink(深度链接)
- Hive查询分析计算:股票分析
- linux 升级补丁
- 乡镇级echarts地图json获取、各省市区地图json文件
- MySQL之二进制日志
- “为物联网提供分散的隐私保护医疗区块链”外文翻译——2019年5月份
- 滚球法(Ball Pivoting)三维表面重建论文笔记