Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
いろんなところでScala Compile
Search
machu
April 26, 2016
Technology
1
1.9k
いろんなところでScala Compile
市ヶ谷Geek☆Night「Scala大名の平成維新〜殿中でScala!〜」のLTで発表予定の資料です。
machu
April 26, 2016
Tweet
Share
More Decks by machu
See All by machu
NBAチームから学ぶ強いチームの作り方
machuz
0
45
Authorization to implement with Extensible Effect
machuz
0
420
アルプの 認証/認可分離戦略と手法
machuz
3
750
AuthzCtx - Alp社内共有会
machuz
0
75
アルプのEff独自エフェクト集 / Alp-original ’Eff’ pearls
machuz
1
2.1k
Scalebaseバックエンド構成について/the backend design of Scalebase
machuz
0
6.4k
SQL Meisterへの道 ~更新編~ / sql-meister-CUD
machuz
0
2.3k
SQL Meisterへの道 ~基礎〜参照編~ / sql-meister-R
machuz
0
2.6k
Authz
machuz
0
310
Other Decks in Technology
See All in Technology
会社にデータエンジニアがいることでできるようになること
10xinc
9
1.6k
Browser
recruitengineers
PRO
3
270
夢の印税生活 / Life on Royalties
tmtms
0
280
Webアクセシビリティ入門
recruitengineers
PRO
1
230
キャリアを支え組織力を高める「多層型ふりかえり」 / 20250821 Kazuki Mori
shift_evolve
PRO
2
300
Goss: New Production-Ready Go Binding for Faiss #coefl_go_jp
bengo4com
0
1.1k
Oracle Base Database Service:サービス概要のご紹介
oracle4engineer
PRO
2
20k
DeNA での思い出 / Memories at DeNA
orgachem
PRO
3
1.6k
JOAI発表資料 @ 関東kaggler会
joai_committee
1
260
[CVPR2025論文読み会] Linguistics-aware Masked Image Modelingfor Self-supervised Scene Text Recognition
s_aiueo32
0
210
そのコンポーネント、サーバー?クライアント?App Router開発のモヤモヤを可視化する補助輪
makotot
3
280
Yahoo!ニュースにおけるソフトウェア開発
lycorptech_jp
PRO
0
340
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
246
12k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Typedesign – Prime Four
hannesfritz
42
2.8k
Side Projects
sachag
455
43k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Music & Morning Musume
bryan
46
6.7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Faster Mobile Websites
deanohume
309
31k
Designing Experiences People Love
moore
142
24k
Transcript
いろんなところで Scala Compile #7 ࢢϲ୩Geek˒Night ʮScalaେ໊ͷฏҡ৽ʙ఼தͰScalaʂʙʯ 20164݄26
ABOUT ME 2016年3月に株式会社リクルートマーケティングパートナーズに入社 『スタディサプリ English』『スタディサプリ 英単語』の サーバーサイド、インフラ周りの人。 ▶ 松川 翼
(まつかわ つばさ) @wing_007
Scalaのデメリット
Compile遅い。
解決策は…
None
CPUで どのくらい違うのか
AWS,GCP,Macで Compileしてみる
GCPは気になっていた プリエンティブルVM 使ってみる
プリエンティブルVMとは Google Cloud Platformで提供されている、 AWSでいうスポットインスタンスのようなもの。 GCP側の都合 or UpTime24時間で自動で落ちるが、 安い(7割減)。 参考:
https://cloudplatform.googleblog.com/2015/05/Introducing-Preemptible-VMs-a-new- class-of-compute-available-at-70-off-standard-pricing.html ※以下PVM
コスト ▶ vCPU 32個 + メモリ28.8GB + SSD10GB (asia-east1-a) ▶
PVM無 $0.943/1h $688.48/1Month ▶ PVM有 $0.354/1h $258.66/1Month ※2016/04/26時点 ※1 か月あたり 730 時間
AWSと比較 ▶ PVM無に近い c4.4xlarge (CPUx16,MEM30G) $1.061/1h $774.53/1Month ▶ PVM有に近い m4.xlarge
(CPUx4,MEM16G) $0.348/1h $254.04/1Month ※2016/04/26時点 ※1 か月あたり 730 時間
条件 ▶ プロジェクト ▶ https://github.com/apache/spark ▶ ファイル数2946 コード行数95万 (ざっくり) ▶
これをclean compileしてみる ▶ resolveが遅い問題があるので計測するのは2回目 ▶ 環境 ▶ GCP:CentOS7 AWS:Amazon Linux ▶ Scala2.11.7 ▶ SBT13.9 ▶ JDK8
結果 (Mac) ▶ MBPR 13inch (デュアルコア MEM:16GB DISK:SSD) 470sec前後 ▶
MBPR 15inch (クアッドコア MEM:16GB DISK:SSD) 250sec前後
結果 (GCP) ▶ PVM (vCPU:24 + MEM:28.8GB + DISK:SSD) 250sec前後
▶ PVM (vCPU:32 + MEM:28.8GB + DISK:SSD) 210sec前後
結果 (AWS) ▶ aws c4.xlarge (vCPU:4 MEM:7.5G DISK:EBS) 230sec前後 ▶
aws c4.2xlarge (vCPU:8 MEM:15G DISK:EBS) 170sec前後 ▶ aws c4.4xlarge (vCPU:16 MEM:30G DISK:EBS) 155sec前後 ▶ aws i2.4xlarge (vCPU:8 MEM:15G DISK:EBS) 230sec前後
AWSのc4はやい。
c4が優秀な理由
計算特化なのでCPU強い ▶ AWS c4.xxxx bogomips : 5800.10 xN ▶ AWS
i2.xxx bogomips : 4988.18 xN ▶ GCP PVM bogomips : 4999.99 x32 ࢀর: https://ja.wikipedia.org/wiki/BogoMips
CPU負荷が かたよる瞬間多め GCP C4
CPU数の優位を 活かせていない
現状では Scala Compileには AWS c4インスタンス◎
PVMは安くで CPU数確保したいなら◎ コンソールも すごく使いやすくなってた
Dotty を心待ちに。
ご清聴 ありがとうございました。