因为自己平时开发要用 scala,在自己的笔记本上编译太慢 开发体验很差,想着搞一个类似 distcc 的东西,原理大概是这样的:
自己搞了个 scala 的小项目看了下, 50k 的源码(大约 2K 行)编译出来目标文件大约 150k, 编译时间大约需要 25 秒。 这种场景下网络带宽的开销比很小, 理论上可以线性的降低编译时间(服务器集群的计算能力越大编译越快)
一个挺美好的想法就是: 有这个需求的人,捐个闲置的 VPS 出来(安装一个 compiler worker)作为 compiler farm 的一部分,然后大家共享整个集群的计算能力。
现在有 2 个问题:
现在自己是挺需要这个东西的,感觉做个简单的原型出来不难。关键有多少人需要这种东西,给点意见?
1
bbx 2018-04-28 14:41:55 +08:00
我觉得 assembly 才蛋疼,我有的时候 sbt assembly 20 分钟。。
|
2
msg7086 2018-04-28 14:52:19 +08:00
20 台 VPS 算力加一起相当于一个台式机,你这是云减速吧。
自己托管服务器然后按 CPU 时间收费倒是可以的,但是吧,受众太小了,投入产出不成比例。 |
3
vexjoe OP |
4
bbx 2018-04-28 15:56:26 +08:00 via iPhone
@vexjoe 随便加一些 big data 的 jar,像是 flink spark druid,因为需要 exclude 一些 dependency,dependency 经常各种 conflict,所以 merge 成 fat jar 的时候很耗时
|
5
vexjoe OP @msg7086
随便找了个阿里云最低配的 VPS 做测试 CPU 情况 Intel(R) Xeon(R) 2.50GHz 1 核 1G 内存 [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 22.635s [INFO] Finished at: Sat Apr 28 15:55:19 CST 2018 [INFO] Final Memory: 25M/60M [INFO] ------------------------------------------------------------------------ 我这边日常工作的配置 2.7 GHz Intel 2 核 8G 内存 compile 上面提到的项目 [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 14.382 s [INFO] Finished at: 2018-04-28T15:55:24+08:00 [INFO] Final Memory: 38M/447M [INFO] ------------------------------------------------------------------------ 粗略计算下 22.635s / 14.382 s ≈ 1.57 ,算力的差距差不多是 1.5 台 VPS 等于 1 台 个人电脑这样,感觉还行的样子? |
6
agagega 2018-04-28 16:04:27 +08:00
不如做个 C++ 的(
|
7
vexjoe OP @bbx 我的需求是开发阶段(写代码-编译-写代码)会经常需要编译。fat jar 这种场景一般是部署的时候,是不是你代码的修改,经常需要部署某一个环境里去跑,才能看到修改的效果?
|
8
3a3Mp112 2018-04-28 16:10:23 +08:00
需要用到 scala 的公司不会缺少硬件的。
|
10
vexjoe OP @3a3Mp112 不过我用自己另一台 4 核 3.9Ghz 16G RAM 的,编译速度仍然只有这台 2 核笔记本的 2 倍左右。感觉个人计算机的能力还是很有限的。
|
11
msg7086 2018-04-28 16:38:10 +08:00 1
VPS 上的 CPU 一般是配置成 Fair Share 的,爆发式运行可以,量大了经常连续爆发会被商家限速。
4 核 3.9 差不多三四年前的台式机水平,现在如果配 Ryzen 可以 8 核 4.0,速度又能翻倍了,价格也不离谱。 自己搞服务器的话,E5-2670v2 这种 CPU 插 2 块,20 个核心一起跑,感觉又不一样了。 总之呢我是觉得这需求太小众,花时间去做,不如把时间转成钱然后买设备解决。 当然你想搞也是可以的,比如固定月租+按量付费,充值然后根据 CPU 时间计价,补偿硬件费用,也可以。 每分钟算力 1 毛,起步费 5 块=50 分钟算力什么的。 |