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
830
SPVMでPerlのforループを100倍高速化する
SPVMという静的型プログラムミング言語を使ってPerlのforループを100倍高速化する方法を解説。
Yuki Kimoto
July 21, 2020
Tweet
Share
Other Decks in Programming
See All in Programming
CSC308B Lecture 12
javiergs
PRO
0
110
まっちすいっち戦争 / match vs switch
takuyakatsusa
1
630
Apple Vision Pro購入RTA 1泊3日弾丸ハワイツアー / RTA: Purchase Apple Vision Pro in Hawaii
yutailang0119
0
480
syndicationd LT
ymgyt
0
110
Sementic Kernelのネイティブ関数について
tomokusaba
0
780
人口ダッシュボード作成講座資料
jo76shin
0
170
C#でのPlaywrightを使ったE2Eテストの実際
tomokusaba
0
210
PHPerライフをChrome拡張開発でちょっと便利に / PR TIMES x DMM.com
meihei3
0
190
PHP 8.3で追加されたjson_validate()を徹底的に深掘りしてみよう
mashirou1234
0
610
WasmOS: Wasmを実行する自作Microkernel
riru
0
360
GitHub Copilot Tips and Tricks
yuichielectric
2
240
TerraformをやめてCDKでReStartしたあと、 CDKをやめてCDK for TerraformでReStartした話
tmiura0203
0
770
Featured
See All Featured
Creatively Recalculating Your Daily Design Routine
revolveconf
209
11k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
355
22k
KATA
mclloyd
14
11k
How STYLIGHT went responsive
nonsquared
92
4.7k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
113
18k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
153
14k
Into the Great Unknown - MozCon
thekraken
10
810
Large-scale JavaScript Application Architecture
addyosmani
501
110k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
6
930
ReactJS: Keep Simple. Everything can be a component!
pedronauck
657
120k
The Cult of Friendly URLs
andyhume
72
5.6k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
11
1.4k
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月末リリース目標
ご清聴、ありがとうございました。