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
bench
Search
Jim Hester
September 19, 2018
Programming
1
1.6k
bench
The bench package, a new take in benchmarking for R
Jim Hester
September 19, 2018
Tweet
Share
More Decks by Jim Hester
See All by Jim Hester
cpp11 - welding R and C++
jimhester
0
2.2k
GitHub Actions for R
jimhester
10
5.2k
vroom
jimhester
1
5.7k
it depends
jimhester
5
3.7k
Extending R Syntax: in package space
jimhester
1
870
Glue strings to data with glue
jimhester
0
210
You can make a package in 20 minutes
jimhester
1
83
Other Decks in Programming
See All in Programming
エンジニアインターン「Treasure」とHonoの2年、そして未来へ / Our Journey with Hono Two Years at Treasure and Beyond
carta_engineering
0
320
monorepo の Go テストをはやくした〜い!~最小の依存解決への道のり~ / faster-testing-of-monorepos
convto
2
500
kiroとCodexで最高のSpec駆動開発を!!数時間で web3ネイティブなミニゲームを作ってみたよ!
mashharuki
0
660
アメ車でサンノゼを走ってきたよ!
s_shimotori
0
230
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
1
460
SwiftDataを使って10万件のデータを読み書きする
akidon0000
0
150
Go言語の特性を活かした公式MCP SDKの設計
hond0413
1
240
非同期jobをtransaction内で 呼ぶなよ!絶対に呼ぶなよ!
alstrocrack
0
980
Go Conference 2025: Goで体感するMultipath TCP ― Go 1.24 時代の MPTCP Listener を理解する
takehaya
9
1.7k
Building, Deploying, and Monitoring Ruby Web Applications with Falcon (Kaigi on Rails 2025)
ioquatix
4
2.2k
ソフトウェア設計の実践的な考え方
masuda220
PRO
4
600
Things You Thought You Didn’t Need To Care About That Have a Big Impact On Your Job
hollycummins
0
230
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
Practical Orchestrator
shlominoach
190
11k
Designing for humans not robots
tammielis
254
26k
Mobile First: as difficult as doing things right
swwweet
225
10k
Building a Modern Day E-commerce SEO Strategy
aleyda
44
7.8k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
Optimizing for Happiness
mojombo
379
70k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
RailsConf 2023
tenderlove
30
1.2k
Faster Mobile Websites
deanohume
310
31k
Transcript
CC by RStudio bench ! September 19th 2018 " bench.r-lib.org
Jim Hester CC-BY-4.0 A new take on benchmarking
Why benchmark?
"premature optimization is the root of all evil." - Donald
Knuth
"A good programmer… will be wise to look carefully at
the critical code; but only a!er that code has been identified." - Donald Knuth
"All (tools) should be designed to provide (us) with feedback
indicating what parts of (our) programs are costing the most" - Donald Knuth
bench::mark()
CC by RStudio bench::mark() 1. High precision timers (ns) 2.
Memory allocations 3. Number and type of R garbage collections 4. Result equality 5. Adaptive stopping 6. Statistics filter GC effects
CC by RStudio bench::mark() 1. Human readable times 2. Human
readable memory sizes 3. Full results / timings / GCs in list- cols
bench::press()
CC by RStudio bench::press()
bench::plot()
ggplot2::autoplot(results) CC by RStudio
CC by RStudio
bench.r-lib.org install.packages("bench") jimhester_ jimhester
[email protected]