首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >大量源代码文件对编译性能的影响

大量源代码文件对编译性能的影响
EN

Stack Overflow用户
提问于 2019-04-27 06:23:13
回答 1查看 65关注 0票数 0

我在每个文件中都有一组相关的scala case类,如下所示:

代码语言:javascript
运行
复制
case class Book(pages: Seq[Page]);
case class Page(paras: Seq[Para]);
case class Para(lines: Seq[Line]);
case class Line(words: Seq[String]);
...

我有大约100个这样的文件,每个文件包含一组相关的案例类。我看到的问题是,一些文件变得非常大,达到了500-1000行代码的程度。我的IDE需要很长时间来编译这么大的文件,并且在编辑这些文件时有时会挂起。当我提出一个PR时,Github不喜欢默认呈现这么大的文件的diff。

因此,我计划将每个case类划分为一个单独的文件,坚持“每个文件一个类”的规则。这样做的副作用是,现在可能有上千个文件,因为我有很多这样的案例类。

这里有一个问题:从“小文件数量(100个)”方法切换到“大文件数量(1000个)”方法会对编译性能产生负面影响吗?文件数量的增加会不会导致scala编译器花费相当长的时间来读取所有这些文件并进行编译?或者,由于“每个文件一个类”的方法减少了文件行数,可以帮助编译器更好地执行吗?这两种方法之间可能存在运行时性能差异吗?

EN

回答 1

Stack Overflow用户

发布于 2019-04-28 09:01:07

我认为你混淆了编译器的性能和IDE的性能。尝试关闭IDE并使用sbt/gradle/maven从命令行编译项目。我相信它会相当快。在scala中,隐式和类型推断的组合可能会破坏编译器的性能。不管你如何拆分,几千行普通的类声明应该不是问题。所以你应该选择最适合你的工具。或者重新思考应用程序设计。

运行时性能根本不会改变。

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

https://stackoverflow.com/questions/55875571

复制
相关文章

相似问题

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