$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
bench
Search
Jim Hester
September 19, 2018
Programming
1
1.7k
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.4k
GitHub Actions for R
jimhester
10
5.3k
vroom
jimhester
1
5.9k
it depends
jimhester
5
3.7k
Extending R Syntax: in package space
jimhester
1
920
Glue strings to data with glue
jimhester
0
220
You can make a package in 20 minutes
jimhester
1
89
Other Decks in Programming
See All in Programming
251126 TestState APIってなんだっけ?Step Functionsテストどう変わる?
east_takumi
0
310
Rediscover the Console - SymfonyCon Amsterdam 2025
chalasr
2
160
AIエンジニアリングのご紹介 / Introduction to AI Engineering
rkaga
6
2.1k
WebRTC と Rust と8K 60fps
tnoho
2
2k
DSPy Meetup Tokyo #1 - はじめてのDSPy
masahiro_nishimi
1
160
手軽に積ん読を増やすには?/読みたい本と付き合うには?
o0h
PRO
1
170
著者と進める!『AIと個人開発したくなったらまずCursorで要件定義だ!』
yasunacoffee
0
130
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
210
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
130
TUIライブラリつくってみた / i-just-make-TUI-library
kazto
1
380
開発に寄りそう自動テストの実現
goyoki
1
910
Go コードベースの構成と AI コンテキスト定義
andpad
0
120
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
70k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
390
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
4 Signs Your Business is Dying
shpigford
186
22k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
54k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
A better future with KSS
kneath
240
18k
Become a Pro
speakerdeck
PRO
31
5.7k
Making Projects Easy
brettharned
120
6.5k
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]