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.9k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
bench
The bench package, a new take in benchmarking for R
Jim Hester
September 19, 2018
More Decks by Jim Hester
See All by Jim Hester
cpp11 - welding R and C++
jimhester
0
2.6k
GitHub Actions for R
jimhester
10
5.4k
vroom
jimhester
1
6.3k
it depends
jimhester
5
3.8k
Extending R Syntax: in package space
jimhester
1
1k
Glue strings to data with glue
jimhester
0
240
You can make a package in 20 minutes
jimhester
1
110
Other Decks in Programming
See All in Programming
Performance Engineering for Everyone
elenatanasoiu
0
230
任せる範囲はこう広がった / How the Scope of AI Delegation Has Expanded
nrslib
0
160
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.8k
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
4
1.5k
トークンをケチるな、設計しろ:GitHub Copilotを賢く使うコンテキスト戦略
ochtum
0
220
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
14
6.4k
A2UI という光を覗いてみる
satohjohn
1
160
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
2.3k
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
370
エンジニアと一緒にテストコードの設計と実装を改善した話
mototakatsu
0
230
ランチタイムLT会3周年!ランチタイムLT会を3年間続けられたお話
y0hgi
1
110
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
14
5.9k
Featured
See All Featured
First, design no harm
axbom
PRO
2
1.2k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
1.8k
Abbi's Birthday
coloredviolet
3
8.3k
Visualization
eitanlees
152
17k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
A Tale of Four Properties
chriscoyier
163
24k
The Spectacular Lies of Maps
axbom
PRO
1
830
Building a Scalable Design System with Sketch
lauravandoore
463
34k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
320
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
200
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
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]