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
SPVMでPerlのforループを100倍高速化する
Search
Yuki Kimoto
July 21, 2020
Programming
1.2k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SPVMでPerlのforループを100倍高速化する
SPVMという静的型プログラムミング言語を使ってPerlのforループを100倍高速化する方法を解説。
Yuki Kimoto
July 21, 2020
Other Decks in Programming
See All in Programming
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
540
Spec-Driven Development with AI-Agents: From High-Level Requirements to Working Software
antonarhipov
2
450
New "Type" system on PicoRuby
pocke
1
470
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
190
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
3
1.1k
Oxcを導入して開発体験が向上した話
yug1224
4
290
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
12k
Inside Stream API
skrb
1
640
Spec Driven Development | AI Summit Lisbon
danielsogl
PRO
0
150
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
500
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
550
AIとRubyの静的型付け
ukin0k0
0
540
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
Why Our Code Smells
bkeepers
PRO
340
58k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
300
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.3k
エンジニアに許された特別な時間の終わり
watany
107
250k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
170
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
Technical Leadership for Architectural Decision Making
baasie
3
400
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
First, design no harm
axbom
PRO
2
1.2k
How to Talk to Developers About Accessibility
jct
2
220
Transcript
SPVMでPerlのforループを 100倍速くする 吉祥寺.pm 2020年7月21日 木本裕紀
自己紹介 •Perlゼミ •Perlプログラミングちゃんねる – YouTube •プログラミング言語開発
Ubuntuサーバー構築入門 – Perlゼミ講座
Perlプログラミングちゃんねる - YouTube
SPVM - プログラミング言語開発
SPVMの目的 • Perlの数値計算と配列演算を高速化する • XSを書かなくてもC/C++/cudaをバインディング
SPVMのソースコード これはPerl? いえ、SPVM。 SPVM Language Specificationで検索。
Perlからの呼び出し SPVMのサブルーチンは、Perlのメ ソッドとして呼び出せる SPVM Exchange API
SPVMの高速化 – プリコンパイル C言語のソースコードに 変換され機械語にコンパ りう
C言語バインディング ネイティブ呼び出し
C言語ソースコード C言語呼び出し バインディングも可能
和を求めるforループのベンチマーク結果 100倍速くなった!
バインディングを試したライブラリ • zlib - 圧縮ライブラリ C言語 • GSL – GNU科学技術計算ライブラリ
C言語 • Eigen 行列演算ライブラリ C++ • OpenMP - CPU並列計算ライブラリ • cuda – NVIDIA GPGPU並列計算用のコンパイラ
SPVM 1.0は、8月末リリース目標
ご清聴、ありがとうございました。