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.2k
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
1.8k
GitHub Actions for R
jimhester
10
4.8k
vroom
jimhester
1
4.8k
it depends
jimhester
5
3.4k
Extending R Syntax: in package space
jimhester
1
580
Glue strings to data with glue
jimhester
0
150
You can make a package in 20 minutes
jimhester
1
56
Other Decks in Programming
See All in Programming
Xcode 16のPreviewModifierと@Previewableを活用した効率的なプレビュー方法の考察
ojun9
2
160
AWS初心者ってどうやってAWSを学ぶ?〜アプリエンジニアがやってよかったアーキテクチャ学習方法〜
yamanashi_ren01
0
190
CSC307 Lecture 13
javiergs
PRO
0
150
feature環境をGitHub ActionsとCloudFormationでいい感じに管理する
nealle
2
310
Polarsの成長: v0.14からv1.0までの変遷と今後の展望
zerebom
1
350
Architectures with Lightweight Stores: New Rules and Options
manfredsteyer
PRO
0
100
なぜ宣言的 UI は壊れにくいのか / Why declarative UI is less fragile
uenitty
29
13k
君たちはどうコードをレビューする (される) か / 大吉祥寺.pm
utgwkk
15
8.5k
Introduction to GitOps
hwchiu
0
110
小さな開発会社を作った理由
polidog
0
1.9k
「2024年版 Kotlin サーバーサイドプログラミング実践開発」の補講 〜O/Rマッパー編〜
n_takehata
2
260
継続的な活動で築く地方エンジニアの道
myamashii
2
350
Featured
See All Featured
Web Components: a chance to create the future
zenorocha
307
41k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
189
16k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
52k
Facilitating Awesome Meetings
lara
46
5.8k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
90
47k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
245
1.2M
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.9k
Pencils Down: Stop Designing & Start Developing
hursman
118
11k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
29
2.5k
KATA
mclloyd
20
13k
Bash Introduction
62gerente
607
210k
Git: the NoSQL Database
bkeepers
PRO
423
64k
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]