<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></head>You're welcome. Well, aside from top and some webservers, i don't see anything taking more than 1% cpu time and even that only occasionally.<br>
<br>
But it is a bit odd - as i am able to reproduce the first two faster iterations every time. Perhaps there is a second jit optimization run which actually deoptimizes something.<br>
-- <br>
Aleksandar Prokopec<br>
LAMP, IC, EPFL<br>
<br>
Sent from my Android phone with K-9 Mail. Please excuse my brevity.<br><br><div class="gmail_quote">Vitaly Davidovich <vitalyd@gmail.com> wrote:<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<p>Thanks Alex.¬† I wonder why there's jitter in the run times, especially in the one using conditional marking; I'd expect initial runs to be higher than later ones, but your results show otherwise.¬† Is there anything else using the cpu on this server besides your tests?</p>

<p>Also, a 15% increase in time seems too high for my intuition based on this case (no gc, card stays dirty after first mark, should be perfectly predicted thereafter), but I think only cpu counter profiling would shed some light.</p>

<p>Sent from my phone</p>
<div class="gmail_quote">On Jan 30, 2012 12:24 PM, "Aleksandar Prokopec" <<a href="mailto:aleksandar.prokopec@gmail.com" target="_blank">aleksandar.prokopec@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Here are the results without the UseCondCardMark flag:<br>
<br>
Executing: java -Xmx512m -Xms512m -server -Dsize=500000000 -Dpar=1 -XX:CompileCommand=print,*<u></u>Worker.run org.scalapool.bench.<u></u>MultiStackJavaExperiment 7<br>
CompilerOracle: print *Worker.run<br>
Java HotSpot(TM) 64-Bit Server VM warning: printing of assembly code is enabled; turning on DebugNonSafepoints to gain additional output<br>
0) Running time: 1930 ms<br>
1) Running time: 1876 ms<br>
2) Running time: 1220 ms<br>
3) Running time: 1220 ms<br>
4) Running time: 1219 ms<br>
5) Running time: 1220 ms<br>
6) Running time: 1220 ms<br>
>>><br>
>>> All running times: [1930, 1876, 1220, 1220, 1219, 1220, 1220]<br>
>>><br>
<br>
<br>
With the UseCondCardMark flag:<br>
<br>
<br>
Executing: java -Xmx512m -Xms512m -server -Dsize=500000000 -Dpar=1 -XX:+UseCondCardMark -XX:CompileCommand=print,*<u></u>Worker.run org.scalapool.bench.<u></u>MultiStackJavaExperiment 7<br>
CompilerOracle: print *Worker.run<br>
Java HotSpot(TM) 64-Bit Server VM warning: printing of assembly code is enabled; turning on DebugNonSafepoints to gain additional output<br>
0) Running time: 1325 ms<br>
1) Running time: 1318 ms<br>
2) Running time: 1407 ms<br>
3) Running time: 1408 ms<br>
4) Running time: 1407 ms<br>
5) Running time: 1407 ms<br>
6) Running time: 1407 ms<br>
>>><br>
>>> All running times: [1325, 1318, 1407, 1408, 1407, 1407, 1407]<br>
>>><br>
<br>
<br>
Cheers,<br>
Alex<br>
<br>
<br>
On 1/27/12 7:24 PM, Vitaly Davidovich wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
On the same 2x4 Xeon server you mentioned earlier? Given that you said there were no GCs I'd expect the cards to stay dirty since you're writing to same location and CPU should predict the branch perfectly (cost of a predicted branch is just a few cycles). ¬†Interesting though, thanks for sharing.<br>


<br>
Sent from my phone<br>
<br>
</blockquote>
<br>
</blockquote></div>
</blockquote></div></html>