Hi,
On 17 Nov., 09:44, Laurent PETIT <[email protected]> wrote:
> I don't know.
>
> But my thougts were just that if you want to measure the time for a
> particular way "W" of coding things (and a variant "Wv"), and you test this
> with other computations "OC",
>
> then
> (not=
> (/ (time Wv)
> (time W))
> (/ (+ (time Wv) (time OC))
> (+ (time W) (time OC))))
>
> ?
>
> Especially if (time OC) is non neglictible ... ?
This is a valid concern. I did another test run, where really only the
traversal and the access is done in the benchmark. But to be honest:
my gut feeling sound the alarm bells about "do you test what you claim
you test or does HotSpot do its magic and optimises things away?"
user=> (let [s (doall (take 10000 (range)))]
(bench
(loop [s s i 0]
(if (empty? s)
i
(recur (rest s) (first s))))))
Evaluation count : 42060
Execution time mean : 1,423636 ms 95,0% CI: (1,423576 ms,
1,423708 ms)
Execution time std-deviation : 236,456463 us 95,0% CI: (235,124875
us, 238,050869 us)
Found 4 outliers in 60 samples (6,6667 %)
low-severe 4 (6,6667 %)
Variance from outliers : 1,6389 % Variance is slightly inflated by
outliers
nil
user=> (let [s (doall (take 10000 (range)))]
(bench
(loop [s (seq s) i 0]
(if s
(recur (next s) (first s))
i))))
Evaluation count : 77100
Execution time mean : 801,433279 us 95,0% CI: (801,390707
us, 801,464994 us)
Execution time std-deviation : 156,316400 us 95,0% CI: (154,780303
us, 158,550059 us)
Found 2 outliers in 60 samples (3,3333 %)
low-severe 1 (1,6667 %)
low-mild 1 (1,6667 %)
Variance from outliers : 1,6389 % Variance is slightly inflated by
outliers
nil
That means:
0.801433279ms / 1.423636ms ~ 0.56 => 44% improvement?
Meikel
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en