sdesilets / disruptor-net

Automatically exported from code.google.com/p/disruptor-net
0 stars 0 forks source link

Revision 30 is problematic #3

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Performance has dropped and performance test assertions begin failing after 
this revision.

I was hitting 32mil for unicast1p1c and 20mil for pipeline, and performance 
asserts were ok.  (I am running thru Resharper runner.  PerfTestRunner does not 
fire the asserts!!!!!) (Pipeline tests are named backwards in these older 
revisions)

Change to CacheLineStorage had the performance effects, from what I can see.  I 
know we had been using Thread.VolatileRead in the port I was working on with 
Tim, and wasn't sure if your code was the same with MemoryBarrier.  Its faster 
with MemoryBarrier. 

Changes to BatchConsumer broke the PerfTest Asserts.  The Expected values after 
a run do not match the calculated values.

The asserts for performance tests have been broken since rev 30.  I have a 
feeling this is a serious problem that unit tests are not catching.  I have not 
had a chance to dig enough into the changes around sequence tracking in the 
batch consumer, but something is wrong it seems.

Original issue reported on code.google.com by Chris...@gmail.com on 6 Jul 2011 at 2:21

GoogleCodeExporter commented 9 years ago
Looks like some of the assert issues of Iterations/expected values are resolved 
after I made sure I had the latest.  DiamondPath is the only one I get on 
disruptor:

Expected: 666667
But was:  666666

Original comment by Chris...@gmail.com on 6 Jul 2011 at 2:51

GoogleCodeExporter commented 9 years ago
SVN revision 212 hasn't been ported from the Java project.  Those guys fixed an 
off-by-one error in two commits.  211 has been ported over and that's the 
source of these "expected value" errors.

Original comment by timiscool999@gmail.com on 6 Jul 2011 at 12:33

GoogleCodeExporter commented 9 years ago

Original comment by odeheur...@gmail.com on 31 Jul 2011 at 12:55