首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >硬编码与文件输入的效率

硬编码与文件输入的效率
EN

Stack Overflow用户
提问于 2012-06-28 21:54:56
回答 4查看 219关注 0票数 2

我正在用Java做一个机器学习项目,它将涉及一个非常大的模型(对于那些熟悉支持向量机的人来说,是支持向量机的输出),需要相当频繁地检索以供最终用户使用。该模型的大部分由相当小的对象组成的大型二维数组组成。

不幸的是,我不知道模型会有多大(到目前为止,我一直在处理基准数据,我实际上要使用的数据还没有准备好),我也不知道它将在其上运行的机器的规格,因为这也是悬而未决的。

我已经有了一个将模型作为字符串写入文件的方法,但是写入过程花费了大量时间,读取过程占用了一分钟的大部分时间。我想减少这方面的时间,所以我有一个聪明的或者令人费解的想法,就是以这样一种方式将模型写入.java文件,以便它可以被编译,然后运行以生成一个完全形成的模型。

我的问题是,假设模型的大小约为1MB,在Java中存储和编译模型会比从文件中读取模型快得多吗?是不是有什么原因我还没有意识到,这可能是一个非常愚蠢的想法,我在任何情况下都不应该去追求?

谢谢你能给我的任何想法。

编辑:显然,试图将几千个值自动写入代码会使一个方法比编译器所能处理的大两个数量级。啊,好吧,生活和学习。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-06-28 22:16:30

中存储和编译模型会比从文件中读取模型快得多吗?

这取决于您设计自定义数据结构以包含模型的方式。

票数 1
EN

Stack Overflow用户

发布于 2012-06-28 21:57:20

您可以考虑为数据创建一种紧凑的二进制格式,而不是写入字符串或java文件。

票数 2
EN

Stack Overflow用户

发布于 2012-06-28 22:10:25

问题是读取文件是否因为IO或计算时间(=> CPU)而花费很长时间。如果是后者,那就倒霉吧。如果您的IO (例如硬盘)是原因,那么您可以压缩文件并在读取后/同时解压缩它。在Java中(当然)有ZIP支持(即使是对Streams)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11246219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档