你们的项目启动时间是几秒?

2021-06-22 14:24:31 +08:00
 szq8014

现在手头负责的单体项目是 15-20 秒左右, 有点影响自己的写代码节奏。。加一些启动参数能达到 10-12 秒,感觉变化不大,如果能在 5 秒内启动该多好。
之前待过的公司也都是单体 Java 项目,启动速度慢的能达到 1 分钟, 大家现在手头的项目启动速度都是什么级别的呢? 有没有影响到你们的思维节奏?

12758 次点击
所在节点    程序员
101 条回复
thetbw
2021-06-23 14:56:08 +08:00
@thetbw 补充一下 ,java,spring,之前在处理依赖的时候堆栈溢出过几次
x940727
2021-06-23 15:02:27 +08:00
@byte10 Go 的编译期没有任何优化的,而且 Go 的语法对编译器更友好……Java 也有不优化的编译器,AOT 的速度其实也勉勉强强,主要有反射会影响静态编译。
szq8014
2021-06-23 15:19:17 +08:00
@byte10 Java 也可以随时写随时跑, 想写启动快的 Java 可以尝试 quarkus, 你要有勇于离开 Spring 的魄力才行, 当然现在 spring native 也在迭代中。
chihiro2014
2021-06-23 16:12:34 +08:00
140s-200s 左右?
wanguorui123
2021-06-23 16:19:45 +08:00
秒起
3dwelcome
2021-06-23 16:40:40 +08:00
我其实挺好奇 chrome 开发组是怎么缩短启动时间的,我自己编译浏览器,一般启动至少要 5 分钟以上。

因为 C++必须把无数.obj 文件链接成一个 exe,对于 chrome 这种巨无霸体量,这一步特别的费时间。

然后我搜了一下谷歌,还真有 chrome.dll 编译优化,blog.llvm.org/2018/01/improving-link-time-on-windows-with.html

诀窍就是换编译器,一开始是 MSVC,编译 chrome.dll 用时 507.17s 。换了 CLang 之后 34.76s ,10 倍速度提升。
284716337
2021-06-23 16:44:11 +08:00
前台 war,在服务器上大概 5 分钟,😂
FlexGap
2021-06-23 19:36:42 +08:00
golang 的项目,大概七八秒钟
MithrilCookie
2021-06-23 19:46:00 +08:00
借楼问一下,生产环境 PASS(公司自建 PASS)下容器的启动速度远远比不上开发机(本人用 m1 mac),这种情况正常吗? SpringBoot 的单体应用,本地十几秒,生产上两三分钟(容器是 4 核 8g 的),感觉跟树莓派是一个级别的
ylsc633
2021-06-23 19:51:37 +08:00
作为一个刚刚从 Golang 转到 java 的开发者来说

java 一启动.. 真的慢

问题是 java 项目是个新写的项目 代码估计就几万行吧
ychost
2021-06-23 21:09:12 +08:00
5 分钟
mreasonyang
2021-06-24 02:02:44 +08:00
怎么定义启动速度快慢呢?是以 JVM 完成启动和初始编译为准,还是以服务 ready 可供调用为准?如果是前者,那可以考虑楼上的建议。如果是后者,那么只要是用了连接池的项目都不会快,同时这种情况下与长尾的建连相比,JVM 相关的启动耗时可以忽略不计了
Ailoli
2021-06-24 08:42:22 +08:00
vue 1 分钟+-
johnniang
2021-06-24 08:53:55 +08:00
yizmaoaa
2021-06-24 09:43:37 +08:00
Quarkus 2 秒。楼上有人提 Spring Native 。应用场景不一样。Graalvm 打包后的 native-image 是秒起,但是打包速度是很慢的。用都没用过的东西就别瞎推荐了-
telan233
2021-06-24 10:33:19 +08:00
java 编译+启动 4 分钟
samin
2021-06-24 14:25:18 +08:00
@pkoukk 请问贵司是多大规模的厂子 ? 我们团队最近也在想着进军 TDD,就拿这调试来说就已经是个非常大的优势,交流下经验
laobodslr
2021-06-25 18:59:09 +08:00
200S 左右
starxg
2021-06-29 18:43:26 +08:00
启动时加上-Dspring.main.lazy-initialization=true 或者在配置文件里加上这句话。

开启全局懒加载,启动速度非常快!

但是快也是有代价的,参考这里: https://blog.csdn.net/peterwanghao/article/details/95617046
Dreamerwwr
2022-07-08 12:23:10 +08:00
@polo3584 用的什么注释?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/785066

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX