不得不说一下,matlab的save和load做的真是好,这是主要是针对较大的文件时,其功能相当的强大。我平时大部分数据,原来都是通过matlab的SAVE成.MAT文件后,再LOAD一下,真是方便。文件不管大小,不管种类,特别好用。

那么,Julia的save 和load又如何?

一、save 和load

在加载了HDF5包后,usingHDF5, JLD (二个都不能少!)后,就可以象MATLAB一样使用save 和load了。

julia> d =rand(1000,1);

# 把变量d 写入硬盘

julia> @save "C:\\Users\\Administrator\\Desktop\\d.jld"d

# 效率 : 远远在序列化之上!!

julia> test =rand(1000000,1)

1000000x1 Array{Float64,2}:

0.399838

0.983189

0.863656

0.135777

........

julia> @time @save"C:\\Users\\Administrator\\Desktop\\test.jld" test

elapsed time: 0.055807782 seconds (519268 bytes allocated)

二、和MATLAB的比较

从功能和用法上看,Julia的HDF5库使用上也简单方便,以下,主要比较一下二者的效率。

1、小数据

(1)save

>> tic;Test =rand(1000000,1);toc

Elapsed time is 0.029130 seconds.

>>tic;save('C:\Users\Administrator\Desktop\Test.mat','Test');toc

Elapsed time is 0.523215 seconds.

julia> @time test =rand(1000000,1)

elapsed time: 0.005679041 seconds (8001560 bytes allocated)

或者:

julia> tic();test =rand(1000000,1);toc();

(2) load

# 把变量d载入内存

bb=@load "C:\\Users\\Administrator\\Desktop\\d.jld"

# 效率

julia> @time @load"C:\\Users\\Administrator\\Desktop\\d.jld"

elapsed time: 0.002416908 seconds (10620 bytes allocated)

可以看出,JULIA在这二个步骤上都更优!大约性能提高十倍左右。

2、大数据

需要指出的是,JULIA@save后的文件变得太大,有些文件时间需要过长,并没有MATALB效率高,在适应性上也有一定的问题。

我测试了几个稍大的数据文件,在效率上,MATLAB要比JULIA快2-10倍不等。

3、字符串

julia对于字符串处理的效率比较低,是其突出的一个弱点。

@time @save"C:\\Users\\Administrator\\Desktop\\testdata.jld" ["ssadadddddddddddddddddddddddddddddddddddddddddddddddd"]

elapsed time: 0.041504262 seconds (54340 bytes allocated)

4、julia的注意事项

另外,Julia在使用@save 和@load需要注意,尽量不使用描象类型(如String),可以用具体类型替代(AsciiString).如果使用具体类型,速度可以提高很多。

此外,HDF5包可能无法识别包括有中文在内的路径。

所以,总体上,我认为MATLAB在save 和load上目前,综合性能上有优势。期待HDF5进行进一步优化!

Julia: save 和load的用法 和与Matlab的效率比较相关推荐

  1. keras/tensorflow 模型保存后重新加载准确率为0 model.save and load giving different result

    我在用别人的代码跑程序的时候遇到了这个问题: keras 模型保存后重新加载准确率为0 GitHub上有个issue:model.save and load giving different resu ...

  2. jquery load 事件用法

    jquery load 事件用法 如果绑定给window对象,则会在所有内容加载后触发,包括窗口,框架,对象和图像.如果绑定在元素上,则当元素的内容加载完毕后触发. 注意:只有当在这个元素完全加载完之 ...

  3. pytorch_basics Save and load model

    # Save and load the entire model. torch.save(resnet, 'model.ckpt') model = torch.load('model.ckpt')# ...

  4. pytorch教程:save and load

    torch有一个"save and load"机制,即训练意外终止了,可以保存训练的中间文件(ckpt.mdl),然后恢复训练的最开始重新加载进来.

  5. [转帖]Docker save and load镜像保存

    Docker save and load镜像保存 https://www.cnblogs.com/zhuochong/p/10064350.html docker save 和 load 以及 imp ...

  6. matlab中load seamout,matlab中的save与load函数

    matlab中的save与load函数 用save函数,可以将工作空间的变量保存成txt文件或mat文件等. 比如: save peng.mat p j 就是将工作空间中的p和j变量保存在peng.m ...

  7. matlab中load函数是什么意思,MATLAB中load函数的用法

    转载自https://ww2.mathworks.cn/help/matlab/ref/load.html load 将文件变量加载到工作区中全页折叠 语法load(filename)load(fil ...

  8. $.load()的用法

    jquery load 事件用法 jquery load 事件用法 如果绑定给window对象,则会在所有内容加载后触发,包括窗口,框架,对象和图像.如果绑定在元素上,则当元素的内容加载完毕后触发. ...

  9. Docker - 本地镜像的导出、导入(export、import、save、load)

    Docker - 本地镜像的导出.导入(export.import.save.load)

  10. DB2 Load的用法

    Source:点击打开链接 最近有个好朋友因为load问题导致了生产故障,所以特意写篇文章总结一下load的用法及注意事项. 1.load概述 数据的导入方法有insert,import和load三种 ...

最新文章

  1. 计算机网络数据容量100M,华工网络教育计算机网络作业及答案
  2. linux网络服务器框架转载
  3. Apache Kafka-通过设置Consumer Group实现广播模式
  4. linux x和s 的区别,Hadoop1.x和2.X的HDFS fsimage和edits文件运行机制对比
  5. [微软面试100题]61-70
  6. 女神节爆猛料!. NET程序员男女比例公布!
  7. 【LeetCode】3月22日打卡-Day7
  8. java反编译 混淆_Java反编译反混淆神器 - CFR
  9. 如何在Vue项目中使用websql数据库
  10. Ffmpeg视频压缩
  11. API文档与模拟数据接口
  12. 微信小程序开发(十五)小程序使用scrollview实现滚动导航栏
  13. 免费天气API,全国天气 JSON API接口,可以获取五天的天气预报
  14. 注册公司的步骤及费用
  15. 使用群晖作mineportalbox(1):合理且不折腾地使用群晖硬件和套件
  16. OS及Mac开源项目和学习资料【超级全面】
  17. 动态半导体ram依据什么存储信息_静态ram和动态ram的区别是什么
  18. 广州未成年子女落户政策需要什么申请条件和申办材料
  19. 存储基础知识之存储介质(机械式硬盘)
  20. 移动页面禁止左右滑动

热门文章

  1. iOS pragma mark的用法
  2. Chrome 地址栏如何设置显示 http/https 和 www
  3. vue+elementUI+node实现登录模块--验证用户名是否正确
  4. LeetCode 16. 3Sum Closest(最接近的三数之和)
  5. Ubuntu下对executable (application/x-executable)文件创建快捷方式
  6. Java 构造器 通过私有构造器强化不可实例化的能力
  7. IDEA里面添加lombok插件,编写简略风格Java代码(转)
  8. 字符串的一般性和特殊性
  9. 线程之线程池(ExecutorService)
  10. Webservice 安全性访问