文章目录

  • 1.算法优化(减少idl变量内存占用的方法)
  • 2.运行时间
    • 1.tic toc 的使用
    • 2.获取儒略日
  • 3.编译规则

1.算法优化(减少idl变量内存占用的方法)

(当然,减小内存的需求是当你的数据量较大时,可采用以下方法,若数据量较小,则可忽略)
1.两种表达式书写方式:
(1)data1=data12
(2)data2=data1
2
很明显,(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的高效编程(六)相关推荐

  1. 你不知道的18个Python高效编程技巧

    来源 | Python编程时光 初识Python语言,觉得python满足了我上学时候对编程语言的所有要求.python语言的高效编程技巧让我们这些大学曾经苦逼学了四年c或者c++的人,兴奋的不行不行 ...

  2. Python可变数据类型高效编程

    用 Python 做数据分析,主要的技术栈是 Python 基础和三驾马车 NumPy.Pandas 和 Matplotlib.先搞定 Python 基础吧. Python3 有六个标准数据类型 不可 ...

  3. [转]vb高效编程(优化)

    本文适合任何水平的vb编程人员. 一.减少加载窗体数目 每一个加载的窗体,无论可视与否,都要占据一定数量的内存(其数量随窗体上控件的类型和数量,以及窗体上位图的大小等的不同而变化).只在需要显示时才加 ...

  4. c语言除法加速,干货!C语言高效编程与代码优化

    原标题:干货!C语言高效编程与代码优化 译文链接:http://www.codeceo.com/article/c-high-performance-coding.html 英文原文:https:// ...

  5. c语言函数除法代码,C语言高效编程与代码优化~

    原标题:C语言高效编程与代码优化~ 译文链接:http://www.codeceo.com/article/c-high-performance-coding.html 英文原文:https://ww ...

  6. 《C++面向对象高效编程(第2版)》——3.11 类名、成员函数名、参数类型和文档...

    本节书摘来自异步社区出版社<C++面向对象高效编程(第2版)>一书中的第3章,第3.11节,作者: [美]Kayshav Dattatri,更多章节内容可以访问云栖社区"异步社区 ...

  7. python多线程挂了_python多线程输入的问题 python高效编程技巧13(如何在线程之间实现...

    python3 创建线程时不用args传参,执行线程时为什如果创建线程时在target里就传入了参数,为什么在启动线程时,线程不是在Python多线程下,每个线程的执行方式: 有什么了不起,大不了继续 ...

  8. 《C++面向对象高效编程(第2版)》——2.29 泛化关系(is-a)

    本节书摘来自异步社区出版社<C++面向对象高效编程(第2版)>一书中的第2章,第2.29节,作者: [美]Kayshav Dattatri,更多章节内容可以访问云栖社区"异步社区 ...

  9. 《C++面向对象高效编程(第2版)》——2.20 什么是多线程安全类

    本节书摘来自异步社区出版社<C++面向对象高效编程(第2版)>一书中的第章,第2.20节,作者: [美]Kayshav Dattatri,更多章节内容可以访问云栖社区"异步社区& ...

最新文章

  1. 44.作用域,局部和全局变量
  2. 19年8月 字母哥 第六章 生命周期内的拦截过滤与监听 用热点公司网不行
  3. jquery点击非div区域隐藏div
  4. 【数据库】Oracle用户、授权、角色管理
  5. FTP文件共传输服务
  6. python(26)查看文件的大小
  7. spring 改变url
  8. java多线程【线程安全问题】
  9. Python使用递归法对整数进行因数分解
  10. Flask + Vue 搭建简易系统步骤总结
  11. 导入其他用户的EFS证书
  12. python数据分析:Numpy
  13. python编辑程序用print函数输出中国加油武汉加油_python练习1之print函数
  14. 深度学习 | MATLAB卷积神经网络原理描述
  15. STM32的定时器中断与实例
  16. vm安装centos,黑屏或黑屏且左上角有光标闪动
  17. 注册了DELPHI盒子
  18. 文献阅读—GAIN:Missing Data Imputation using Generative Adversarial Nets
  19. 现代处理器的设计思想
  20. python爬虫selenium和bs4_python爬虫――selenium+bs4爬取选股宝‘利好‘or’利空'股票信息...

热门文章

  1. Remote Dictionary Server(Redis)——基于 KV 结构的作为 Cache 使用的 NoSQL 数据库管理系统
  2. PAT乙级测试题1024(C语言实现)
  3. html5 游戏制作教程,【整理】一步一步学做HTML5游戏教程
  4. 一文解析App推广神器deeplink(深度链接)
  5. Hive查询分析计算:股票分析
  6. linux 升级补丁
  7. 乡镇级echarts地图json获取、各省市区地图json文件
  8. MySQL之二进制日志
  9. “为物联网提供分散的隐私保护医疗区块链”外文翻译——2019年5月份
  10. 滚球法(Ball Pivoting)三维表面重建论文笔记