Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Elixirのライバルを紹介する(仮) / Shibuya.ex #1 LT by moccos
Search
moccos
August 25, 2015
Technology
0
1.6k
Elixirのライバルを 紹介する (仮) / Shibuya.ex #1 LT by moccos
2015-08-25 Shibuya.ex #1 LT
発表に使ったバージョンに、喋った概要と一部補足のテキストをのせたもの
moccos
August 25, 2015
Tweet
Share
Other Decks in Technology
See All in Technology
How is Cilium Tested?
yutarohayakawa
5
310
属人化したE2E自動テストを ひも解く
honamin09
1
110
re:Inventで発表された Bedrockの新機能を色々使って、マルチRAGエージェントにクラウド選定させてみた件
minorun365
PRO
3
260
同一クラスタ上でのFluxCDとArgoCDのリソース最適化の話
kumorn5s
0
150
Kubernetesを知る
logica0419
18
5.4k
新機能Amazon GuardDuty Extended Threat Detectionはネ申って話
cmusudakeisuke
0
260
AWS re:Invent 2024登壇資料(GBL206-JA: Unleashing the power of generative AI on AWS for your business)
minorun365
PRO
7
250
深層学習のリペア技術の最新動向と実際 / DNN Repair Techniques for AI Performance Alignment for Safety Requirements
ishikawafyu
0
510
宇宙最速のランチRecap LT会(AWS re:Invent 2024)
watany
1
400
My Generation 年配者がこの先生きのこるには (Developers CAREER Boost 2024 Edition)/My Generation How elder engineers can survive
kwappa
3
380
スパイクアクセス対策としての pitchfork 導入
riseshia
0
200
Amazon Bedrock Knowledge BasesがGraphRAGに対応!! ・・・それってつまりどういうコト!? をチョット深堀ってみる
tokushun
0
110
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1030
460k
Gamification - CAS2011
davidbonilla
80
5.1k
Practical Orchestrator
shlominoach
186
10k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Building an army of robots
kneath
302
44k
Making the Leap to Tech Lead
cromwellryan
133
9k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
890
4 Signs Your Business is Dying
shpigford
181
21k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Code Review Best Practice
trishagee
64
17k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
It's Worth the Effort
3n
183
27k
Transcript
Elixirのライバルを 紹介する (仮) 2015-08-25 Shibuya.ex #1 LT もっこす(@moccos[twitter|GitHub])
ライバル? 適用分野が似ているという意味のライバル(Rails等)ではなく 姿形の似たアクターモデルのライバルを紹介
VS Erlangとの比較も話題としてはあるけれど、今回は無しで
VS この4つを紹介 (一番右はロゴがなかった)
Akka • http://akka.io/ • 2.3.12 (current stable release) • JVM
• Java / Scala 既にメジャーバージョン2、だいぶ充実してきている
Akkaといえば… Play Frameworkが一番有名かも Akkaの上に実装されている
公式を見ると、何やらあちこちで採用されている おそらくErlangと同様にバックエンドなので、見た目にはわからない
ドキュメントも充実
いろいろな機能が実装されている Erlang/OTPの売りであるSupervisorも ある
Akka vs Elixir Akka Elixir Scala / Java 言語 Elixir
/ Erlang JVM 処理系 Erlang VM メッセージ スケジュール単位 簡約 全体 GC Processごと 静的 型 動的 速い 演算速度 遅い そんな強力なライバルAkkaとの比較 かなりの部分がJVM と Erlang VMの比較
Akka vs Elixir Akka Elixir Scala / Java 言語 Elixir
/ Erlang JVM 処理系 Erlang VM メッセージ スケジュール単位 簡約 全体 GC Processごと 静的 型 動的 速い 演算速度 遅い Erlang VMの強みは • Actorのスケジュール → 長く演算しているErlangプロセスが占有しない • グローバルに同期しないGC → Stop the worldの危険性が低い という、Actor model専用機ならではの部分かと
Orleans • http://dotnet.github.io/orleans/ • 1.0.9 (NuGet) • .NET • C#
/ F# / VB Microsoft謹製 超大型FPS Halo4 のサーバーサイド (https://channel9.msdn.com/Events/Build/2014/3-641 このスライドの説明がとてもわかりやすい)
Orleansの思想 Virtual Actor
Virtual Actor instances always exist, virtually
Virtual Actor • あるActorが常時存在する (ように見える) • 落ちたら勝手にどこかで復活する • Let it
crash! の単純化 Erlang等だと、再起動ポリシーをこまごまと設定できるけども とりあえず再起動してくれればいいよ、とまで単純化できるのであれば 楽が出来そうなしくみ
Orbit • http://orbit.bioware.com/ • 0.4.5 (Maven central) • JVM •
Java / Scala
heavily inspired by the Orleans project
Orbitの雑な説明 • OrleansのJVM版クローン ほとんど同じ機能が実装されている でも、.NETではなくJVMで動くというだけで価値がある
Pony • http://www.ponylang.org/ • 0.1.7 (on 18 Jun) • ネイティブバイナリにコンパイル
最後に色物、まだ出来たての言語
でも既にCommercial Supportがある。謎の気合
要素は全てActor。これはErlang VMと同じといえる (喋る時間がなかったけども、GCがActor単位で可能な利点をPonyも持つ)
他の文法を雰囲気だけ見てみると… 変数宣言、これはわかる
なんだこれは → Objectの参照権で細かく分類されている
Pony • ドキュメントがなくてつらい • そもそも言語機能が多くて難しい • 理想が高いのはわかる • 演算性能が高くなるはずなのもわかる (ドキュメントについて補足)
一切全く無いのでなくチュートリアルはあるが、網羅的でない Exampleやソースコードが頼り
(とても大雑把な) まとめ • Akka • 機能豊富 • 実績あり • Orleans
/ Orbit • Actorの死活管理がシンプルでよければ • 分散システム前提 • Pony • 現状は人柱 • たぶん動けば速い
(とても大雑把な) まとめ •Elixir • Erlang VMの応答性が最強