Platform
Resources
Pricing
Sign in
Get started
Dominik Moritz
Faculty at CMU (@cmudig) and researcher at @apple.
Workspace
Fork
Published
By
Dominik Moritz
Edited
Apr 27, 2021
Fork of
Stdlib Benchmark Template
2 stars
Insert cell
7
Insert cell
function
benchmarkCallback
(
b
)
{
function
callback
(
f
)
{
for
(
let
i
=
0
;
i
<
N
;
i
++
)
{
f
(
i
)
;
}
}
b
.
tic
(
)
;
// start timing
for
(
let
i
=
0
;
i
<
b
.
iterations
;
i
++
)
{
let
sum
=
0
;
callback
(
(
i
)
=>
(
sum
+=
i
)
)
;
}
b
.
toc
(
)
;
// end timing
b
.
end
(
)
;
// finish the benchmark
}
Insert cell
function
benchmarkIterator
(
b
)
{
class
Iter
{
[
Symbol
.
iterator
]
(
)
{
let
i
=
0
;
return
{
next
:
(
)
=>
{
if
(
i
>
N
)
{
return
{
done
:
true
}
;
}
return
{
done
:
false
,
value
:
i
++
}
;
}
}
;
}
}
b
.
tic
(
)
;
// start timing
for
(
let
i
=
0
;
i
<
b
.
iterations
;
i
++
)
{
let
sum
=
0
;
const
iter
=
new
Iter
(
)
;
for
(
const
i
of
iter
)
{
sum
+=
i
;
}
}
b
.
toc
(
)
;
// end timing
b
.
end
(
)
;
// finish the benchmark
}
Insert cell
function
benchmarkGenerator
(
b
)
{
function
*
iterator
(
)
{
for
(
let
i
=
0
;
i
<
N
;
i
++
)
{
yield
i
;
}
}
b
.
tic
(
)
;
// start timing
for
(
let
i
=
0
;
i
<
b
.
iterations
;
i
++
)
{
let
sum
=
0
;
for
(
const
i
of
iterator
(
)
)
{
sum
+=
i
;
}
}
b
.
toc
(
)
;
// end timing
b
.
end
(
)
;
// finish the benchmark
}
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Purpose-built for displays of data
Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Try it for free
Learn more
Compare fork
Fork
View
Export
Edit
Show 7 comments
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
benchmarkCallback
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
benchmarkIterator
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
benchmarkGenerator
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
N
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
d3
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML