如何解决MX文件Mathematica的快速加载跨平台替代品
| 在Mathematica中,可以使用Save
(.m文件)或DumpSave
(.mx文件)保存中间结果/工作区的部分状态。
.m文件是可移植的,但加载速度非常慢(大数据)。
.mx文件可以快速加载,但不能在平台/体系结构之间移植。
有没有一种方法可以保存通用的Mathematica表达式,从而使其加载速度快,并且可以在平台之间移植?有没有人尝试过/用基准测试不同的方法来做到这一点?
一种可能的解决方案是保存.m文件(跨平台),然后在新平台上开始工作时将它们转换为.mx文件(一次性操作)。是否存在将.m文件转换为.mx文件的全自动方法?
解决方法
从Alexey链接的帖子中:
str=OpenWrite[file,BinaryFormat->True];
BinaryWrite[str,Compress[expr],\"TerminatedString\"];
Close[str];
这虽然不如使用mx文件快,但是仍然非常快。
戴维·贝利
另一个选择似乎是WDX(Wolfram Data eXchange),我是
在各种机器上使用都没有问题,这似乎也
具有便携性,可以像MX文件一样完全使用,是二进制文件,已记录
因此,我将考虑正式支持。它由
数据paclet功能,因此我认为它的性能合理且
在所有系统上都经过良好测试(根据我的经验所做的假设
到目前为止支持)。
(摘自Albertey Retey的回答,也摘自Alexey的链接)
但是它们不像Save
/DumpSave
那样工作,因为它不保存expr
的FullDefinition
,而只是保存expr
的显式值。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。