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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Yuki Kimoto
July 21, 2020
Programming
1
1.2k
SPVMでPerlのforループを100倍高速化する
SPVMという静的型プログラムミング言語を使ってPerlのforループを100倍高速化する方法を解説。
Yuki Kimoto
July 21, 2020
Tweet
Share
Other Decks in Programming
See All in Programming
nilとは何か 〜interfaceの構造とnil!=nilから理解する〜
kuro_kurorrr
3
1.9k
go directiveを最新にしすぎないで欲しい話──あるいは、Go 1.26からgo mod initで作られるgo directiveの値が変わる話 / Go 1.26 リリースパーティ
arthur1
2
550
AI 開発合宿を通して得た学び
niftycorp
PRO
0
100
20260313 - Grafana & Friends Taipei #1 - Kubernetes v1.36 的開發雜記:那些困在 Alpha 加護病房太久的 Metrics
tico88612
0
180
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
500
ふつうのRubyist、ちいさなデバイス、大きな一年 / Ordinary Rubyists, Tiny Devices, Big Year
chobishiba
1
440
受け入れテスト駆動開発(ATDD)×AI駆動開発 AI時代のATDDの取り組み方を考える
kztakasaki
2
570
SourceGeneratorのマーカー属性問題について
htkym
0
190
Unity6.3 AudioUpdate
cova8bitdots
0
130
ロボットのための工場に灯りは要らない
watany
10
2.8k
PostgreSQL を使った快適な go test 環境を求めて
otakakot
0
540
「抽象に依存せよ」が分からなかった新卒1年目の私が Goのインターフェースと和解するまで
kurogenki
0
110
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.5k
GraphQLの誤解/rethinking-graphql
sonatard
75
11k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
210
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
240
Code Reviewing Like a Champion
maltzj
528
40k
We Have a Design System, Now What?
morganepeng
55
8k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
110
My Coaching Mixtape
mlcsv
0
71
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
300
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
Odyssey Design
rkendrick25
PRO
2
540
Writing Fast Ruby
sferik
630
63k
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月末リリース目標
ご清聴、ありがとうございました。