Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Open sidebar
MUR Drupal
d3-library
Commits
8b32c70d
Commit
8b32c70d
authored
Apr 05, 2014
by
Mike Bostock
Browse files
Add d3.interpolateString benchmark.
parent
500538af
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
41 additions
and
0 deletions
+41
-0
test/interpolate/interpolate-string-benchmark
test/interpolate/interpolate-string-benchmark
+41
-0
No files found.
test/interpolate/interpolate-string-benchmark
0 → 100755
View file @
8b32c70d
#!/usr/bin/env node
var
d3
=
require
(
"
../../
"
);
var
formatNumber
=
d3
.
format
(
"
.3s
"
);
// Returns the time required to construct a string interpolator
// for two strings with n numbers, separated by commas,
// with probability p that the corresponding numbers in a & b are different.
// The test is run k times, and the mean result is returned.
function
observeConstruction
(
n
,
p
,
k
)
{
if
(
arguments
.
length
<
3
)
k
=
1
;
for
(
var
i
=
0
,
sum
=
0
;
i
<
k
;
++
i
)
{
var
a
=
d3
.
range
(
n
).
map
(
function
()
{
return
Math
.
random
()
*
1000
;
}),
b
=
d3
.
range
(
n
).
map
(
function
(
i
)
{
return
Math
.
random
()
<
p
?
Math
.
random
()
*
1000
:
a
[
i
];
});
var
start
=
process
.
hrtime
();
d3
.
interpolateString
(
a
,
b
);
var
elapsed
=
process
.
hrtime
(
start
);
sum
+=
elapsed
[
0
]
+
elapsed
[
1
]
/
1
e9
;
process
.
stdout
.
write
(
"
.
"
);
}
console
.
log
(
""
);
return
sum
/
k
;
}
console
.
log
(
formatNumber
(
observeConstruction
(
12000
,
0.00
,
40
))
+
"
s
\t
n=12,000
\t
p=0
"
);
console
.
log
(
formatNumber
(
observeConstruction
(
12000
,
0.50
,
40
))
+
"
s
\t
n=12,000
\t
p=.5
"
);
// console.log(formatNumber(observeConstruction( 12000, 0.93, 40)) + "s\tn=12,000\tp=.93");
console
.
log
(
formatNumber
(
observeConstruction
(
12000
,
1.00
,
40
))
+
"
s
\t
n=12,000
\t
p=1
"
);
console
.
log
(
formatNumber
(
observeConstruction
(
60000
,
0.00
,
20
))
+
"
s
\t
n=60,000
\t
p=0
"
);
console
.
log
(
formatNumber
(
observeConstruction
(
60000
,
0.50
,
20
))
+
"
s
\t
n=60,000
\t
p=.5
"
);
// console.log(formatNumber(observeConstruction( 60000, 0.93, 20)) + "s\tn=60,000\tp=.93");
console
.
log
(
formatNumber
(
observeConstruction
(
60000
,
1.00
,
20
))
+
"
s
\t
n=60,000
\t
p=1
"
);
console
.
log
(
formatNumber
(
observeConstruction
(
300000
,
0.00
,
10
))
+
"
s
\t
n=300,000
\t
p=0
"
);
console
.
log
(
formatNumber
(
observeConstruction
(
300000
,
0.50
,
10
))
+
"
s
\t
n=300,000
\t
p=.5
"
);
// console.log(formatNumber(observeConstruction( 300000, 0.93, 10)) + "s\tn=300,000\tp=.93");
console
.
log
(
formatNumber
(
observeConstruction
(
300000
,
1.00
,
10
))
+
"
s
\t
n=300,000
\t
p=1
"
);
console
.
log
(
formatNumber
(
observeConstruction
(
1500000
,
0.00
,
4
))
+
"
s
\t
n=1,500,000
\t
p=0
"
);
console
.
log
(
formatNumber
(
observeConstruction
(
1500000
,
0.50
,
4
))
+
"
s
\t
n=1,500,000
\t
p=.5
"
);
// console.log(formatNumber(observeConstruction(1500000, 0.93, 4)) + "s\tn=1,500,000\tp=.93");
console
.
log
(
formatNumber
(
observeConstruction
(
1500000
,
1.00
,
4
))
+
"
s
\t
n=1,500,000
\t
p=1
"
);
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment