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
令和最新版 Ruby プロファイラ "Pf2" のご紹介
Search
osyoyu
April 24, 2024
Technology
0
630
令和最新版 Ruby プロファイラ "Pf2" のご紹介
osyoyu
April 24, 2024
Tweet
Share
More Decks by osyoyu
See All by osyoyu
Profile and benchmark every change - RubyKaigi 2025
osyoyu
0
50
Regional.rb and the Tokyo Metropolis
osyoyu
0
210
都市伝説バスターズ「WebアプリのボトルネックはDBだから言語の性能は関係ない」 - Kaigi on Rails 2024
osyoyu
29
17k
プロファイラ開発者と見る「推測するな、計測せよ」 - YAPC::Hakodate 2024
osyoyu
7
860
ZigでC拡張を作る 2024 Edition
osyoyu
1
110
Rubyのパフォーマンスプロファイリングの改善 / Enhancing performance profiling for Ruby
osyoyu
2
980
RubyKaigi Decks
osyoyu
0
180
The depths of profiling Ruby - RubyKaigi 2024
osyoyu
3
6.8k
今年のRubyKaigiはProfiler Year🤘
osyoyu
0
1.4k
Other Decks in Technology
See All in Technology
LLMエージェント時代に適応した開発フロー
hiragram
1
410
Android Studio の 新しいAI機能を試してみよう / Try out the new AI features in Android Studio
yanzm
0
270
ドキュメントはAIの味方!スタートアップのアジャイルを加速するADR
kawauso
3
340
会社にデータエンジニアがいることでできるようになること
10xinc
9
1.6k
株式会社ARAV 採用案内
maqui
0
340
Product Management Conference -AI時代に進化するPdM-
kojima111
0
220
Yahoo!広告ビジネス基盤におけるバックエンド開発
lycorptech_jp
PRO
1
270
歴代のWeb Speed Hackathonの出題から考えるデグレしないパフォーマンス改善
shuta13
6
600
見てわかるテスト駆動開発
recruitengineers
PRO
4
280
知られざるprops命名の慣習 アクション編
uhyo
10
2.4k
ABEMAにおける 生成AI活用の現在地 / The Current Status of Generative AI at ABEMA
dekatotoro
0
650
VPC Latticeのサービスエンドポイント機能を使用した複数VPCアクセス
duelist2020jp
0
180
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
42
2.8k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.4k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
780
Automating Front-end Workflow
addyosmani
1370
200k
The Art of Programming - Codeland 2020
erikaheidi
55
13k
A better future with KSS
kneath
239
17k
Agile that works and the tools we love
rasmusluckow
329
21k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Code Reviewing Like a Champion
maltzj
525
40k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
570
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Building Adaptive Systems
keathley
43
2.7k
Transcript
ྩ࠷৽൛3VCZϓϩϑΝΠϥ 1Gͷ͝հ
Q!PTZPZV %BJTVLF"SJUPNP PTZPZV 7*4"ϓϦΧʮ#ʯΛεϚʔτόϯΫ ג Ͱ ͭͬͯ͘·͢ ࠓ࠷ۙͷ׆ಈͷհͰ͢
ͦͷલʹ ʮϓϩϑΝΠϥʯ ຊޠͰʮੑೳղੳπʔϧʯ ಈ࡞͢ΔϓϩάϥϜʹΞλονͯ͠ɺ ͍ՕॴΛൃݟ͢Δ͜ͱ͕Ͱ͖Δ 3VCZͰ4UBDLQSPG SCTQZ SVCZQSPG ͕༗໊
1Gͷ͝հ HJUIVCDPNPTZPZVQG
جຊͷϏϡʔ 5ISFBEϦετ 'MBNFHSBQI
ϏδϡΞϥΠζ $BMM5SFF *OWFSUFE$BMM5SFF 'MBNFHSBQI
$BMM5SFF ໊ؔ DBMMUSFF ݺͼग़͠ճ
*OWFSUFE$BMM5SFF ݺͼग़͠ճॱ
1GΛ௨ͨ͠3VCZϓϩάϥϜͷ࣮ߦ QGTFSWFΛ͚ͭͯSVCZΛ࣮ߦ͢Δ͜ͱͰ λʔήοτ͕ϓϩϑΝΠϧ͞ΕΔ ʢίʔυΛฤू͢Δඞཁͳ͠ʂʣ
࣮ફ1GΛͬͨߴԽ
ߴԽͷجຊ ϓϩϑΝΠϥΛͬͨ ͍ཧ༝ͷൃݟ ϓϩάϥϜΛॻ͘
࣮ફ1GΛͬͨߴԽ 5IF0OF#JMMJPO3PX$IBMMFOHFʹઓ ߦ ԯߦ ͷςΩετϑΝΠϧΛॲཧ͢Δ
5IF0OF#JMMJPO3PX$IBMMFOHF *OQVU ࢢͷؾԹͷ؍ଌσʔλԯߦ ʢࢢ͝ͱʹෳͷ؍ଌ͕ଘࡏʣ Tarui;-11.0 Cunupia;-85.0 Honjō;56.6 Navalcarnero;72.2 Escazú;-5.6
Babylon;10.4 Gouvêa;57.9 Makri;-63.1 Châlons-en-Champagne;89.9 Santo Antônio do Sudoeste;20.4 (ҎԼ9,999,999,990ߦ) { ..., Bournville=-94.1;3.2;99.0, Tarui=-99.0;-3.8;99.9, Tokyo=-95.5;-2.0;97.2, York= ... } 0VUQVU ࢢ͝ͱͷNJONFBONBYͷ
ग़యɿXXXXXXXXXXX ಡΈࠐΈύʔτʢ্ʣͱ ܗग़ྗύʔτʢԼʣͰߏ Θ͟ͱ͘ॻ͍ͨΓ͍ͯ͠ͳ͍ͭΓ TVTFS TTZTUFN DQV UPUBM ·ͣγϡοͱ࣮
؆୯
·ͣ'MBNFHSBQIΛ֬ೝ ͋Δϝιουͷԣ෯͕ྦྷܭ࣮ߦ࣌ؒΛࣔ͢ 4USJOHTQMJU͕Ұ൪ॏ͍
·ͣ'MBNFHSBQIΛ֬ೝ $ϑϨʔϜͷදࣔΛ༗ޮʹ͢Δͱ ӅΕͨ3VCZϝιου͕ݟ͑Δ SC@IBTI@BSFG)BTI<>
ग़యɿXXXXXXXXXXX ଘࡏ͠ͳ͍Ωʔͷͱ͖ͷॲཧΛ)BTIOFX ͷػೳʹͤΔ TVTFS TTZTUFN DQV UPUBM ͷվળ )BTI<>ΛݮΒͦ͏
SC@IBTI@BSFGͱ)BTI<>ͷରԠΛௐΔํ๏ SVCZSVCZͷίʔυΛಡΉͷ͕ Ұ൪࣮֬ʜʜ͔ʜʜ $IBU(15Ͱ·͊͑ͯ͘ΕΔ ʢͦͦؒ͜͜ҧ͑Δʣ IBTIDͷ*OJU@IBTI ΑΓ ରԠ͢ΔSC@EF fi
OF@NFUIPEΛݟ͚ͭΒΕΔ
ͦͷଞ$TUBDLΛݟͯஅͰ͖Δ͜ͱ w SC@FD@TUS@SFTVSSFDU w # frozen_string_literal: trueͰফ໓ w
GSP[FO@TUSJOH@MJUFSBMΛઃఆ͢Δ͚ͩͰ͘ͳͬͨ w WN@DBMM@DGVOD@XJUI@GSBNF w ͍ΘΏΔ$֦ுͰ࣮͞Εͨϝιουͷݺͼग़͠ w ελοΫͷ্ԼΛݟͯஅ w ($ؔ w ($Ͱ͢
ຊ࣭ʹ͖߹͏ ࣮ߦ࣌ؒͷ͙Β͍͕4USJOHDIPNQ 4USJOHTQMJUʹඅ͞Ε͍ͯΔ ৽͍͠4USJOH࡞ࣺͬͯͯͯ($ʹෛՙ Λ͔͚͍ͯΔ 4USJOHDIPNQ TQMJUΛͳ͘͢
ग़యɿXXXXXXXXXXX DIPNQ͕ແବͳ4USJOHΦϒδΣΫτΛ ࡞Βͳ͘ͳΔ͠ɺMPPLGPSXBSE͚ͩͰ ॲཧͰ͖ͯ͘ͳΔͣʂ TVTFS TTZTUFN DQV UPUBM ഒ͙Β͍͘ͳͬͨ
HFUDͰஔ͖͑Δ
·ͣ'MBNFHSBQIΛ֬ೝ *0HFUDΊͬͪΌSC@TUS@OFXͯͨ͠ ʢͦΕͦ͏ʣ
·ͣ'MBNFHSBQIΛ֬ೝ *0HFUDΊͬͪΌSC@TUS@OFXͯͨ͠ ʢͦΕͦ͏ʣ શવ͘ͳͬͯͳ͍ʂ
·ͣ'MBNFHSBQIΛ֬ೝ *0HFUDΊͬͪΌSC@TUS@OFXͯͨ͠ ʢͦΕͦ͏ʣ 3VCZͷ࣮ͱྑ͘ͳΕͨ
ຊ࣭ʹ͖߹͏ ڊେͳσʔλʢԯߦͰ(#ʣͷϩʔυ ͍ͦͦ UNQGT ϝϞϦ্ ʹஔ͍͍ͯΔ͕ɺͦΕͰ ʜʜ ϩʔυΛ͏·͍͜ͱϚϧνεϨουʹͨ͠ Β͘ͳΔ
,FSOFMHFUTͷ·· Ͳ͏ʹ͔ʜʜ
ग़యɿXXXXXXXXXXX ʜʜ͕ͨ͠ɺ͘ͳΔͲ͜Ζ͔͘ͳͬͨ ϑΝΠϧγεςϜͷΞΫηε͕γʔέϯ γϟϧͰͳ͘ͳ͔ͬͨΒʁʢ͜Εͨͩͷ ༧ʣ TVTFS TTZTUFN DQV UPUBM
ഒ͙Β͍͘ͳͬͨ HFUTΛϚϧνεϨουʹ
ͦͷଞͷ׆༻ࣄྫ
͜ΕNZTRMͷGMBNFHSBQI ͍42-͕͋Δͱ͖ɺ ΫΤϦૹ৴PS࣮ߦPS݁Ռͷड৴ ͲΕ͕͍͔Θ͔Δ SFBE@RVFSZ@SFTVMU ݁Ռͷड৴ QQPMM ࣮ߦͪ NZTRM@TFOE@RVFSZ
ΫΤϦͷૹ৴
1Gͷ͘͠Έ
1GͷΈ w Ұఆपظ͝ͱʹʮαϯϓϧʯΛऩू͍ͯ͠Δ w αϯϓϧͦͷॠؒʹ࣮ߦ͞Ε͍ͯͨ ϝιουɾؔͷใ w -JOVYͰΧʔωϧ͕QUISFBE୯Ґͷ$16 UJNFΛܭଌ͍ͯ͠ΔͷͰɺͦͷใΛར༻
w NBD04ͰͨͩͷλΠϚʔ 5BSHFUQSPHSBN ͷ࣮ߦ 1GʹΑΔ αϯϓϧऩू ҰఆपظͰ TJHOBMͰݺͿ ࣮ߦใͷ औಘ
1GͷΈ w αϯϓϧͷऩूํ๏ w ͭԼͷϨΠϠʔͷࢧԉ͕ඞཁ w 3VCZͷใ$3VCZͷSC@QSP fi MF@UISFBE@GSBNFT
Ͱऔಘ w $ίʔυͷใ$16ͷϓϩάϥϜΧϯλΛಡΈग़͢ EFCVHTZNCPM %8"3'͔ΒରԠ͢Δ໊ؔΛܭࢉ w MJCCBDLUSBDF͕ͬͯ͘Ε͍ͯΔ
1GͷΈ w ͦͷଞͷ3VCZಛ༗ͷػೳʹରԠ w (BSCBHFDPMMFDUJPOͷ౷ܭใ w (7-ͷ౷ܭใ w 3VCZϝιουͱ$ؔͷରԠ͚ͮ
w ͜ͷลSVCZSVCZ͔ΒTUSVDUΛίϐϖ͢ΔͳͲͷؾ߹͍
1GͷΈ w ͦͷଞͷ3VCZಛ༗ͷػೳʹରԠ w (BSCBHFDPMMFDUJPOͷ౷ܭใ w (7-ͷ౷ܭใ w 3VCZϝιουͱ$ؔͷରԠ͚ͮ
w ͜ͷลSVCZSVCZ͔ΒTUSVDUΛίϐϖ͢ΔͳͲͷؾ߹͍
1GͷΈ w ϓϩϑΝΠϥʹΦʔόʔϔου͕͋Δ w ϓϩϑΝΠϧ͢Δ͜ͱͰ͘ͳͬͯ͠·͏ w ͜ΕΛ࠷খݶʹ͢ΔΑ͏ؤுͬͨΓ ৄ͘͠
None
%BZ དྷ͍ͯͩ͘͞ʂʂʂ
1Gͷ͝հ HJUIVCDPNPTZPZVQG
એᶃʮ3VCZ,BJHJࣄલษڧձʢ4NBSU)3ओ࠵ʣʯͰ͠·͢ ໌ ɺʮ3VCZ,BJHJࣄલษڧձʯͰ ʰࠓͷ3VCZ,BJHJ1SP fi MFS:FBS🤘ʱͷΛ͠·͢
એᶄʮʲॳ৺ऀܴʳొஃऀͱ߈ུ͢Δ3VCZ,BJHJʲϓϩܴʳʯΓ·͢ ͍͍Πϕϯτʹ͠·͢ IUUQTTNBSUCBOLDPOOQBTTDPNFWFOU