Changeset 591 for Tests


Ignore:
Timestamp:
12/08/13 19:21:50 (8 years ago)
Author:
BegemoT
Message:
 
Location:
Tests/JAVA/logger
Files:
3 added
3 edited

Legend:

Unmodified
Added
Removed
  • Tests/JAVA/logger/src/main/java/com/db/logger/benchmarks/helpers/AtomicBenchmark.java

    r590 r591  
    33import java.util.concurrent.TimeUnit; 
    44import java.util.concurrent.atomic.AtomicInteger; 
     5import java.util.concurrent.atomic.AtomicLong; 
    56 
    67import org.openjdk.jmh.annotations.*; 
     
    2122        } 
    2223 
    23         //TODO use Unsafe for paiding 
    24         public AtomicInteger counter; 
     24        public AtomicLong counter; 
    2525 
    2626        @Setup 
    2727        public void setup() { 
    28                 counter = new AtomicInteger( 0 ); 
     28                counter = new AtomicLong( 0 ); 
    2929        } 
    3030 
     
    4242        @GenerateMicroBenchmark 
    4343        @Group( "payload" ) 
     44        @GroupThreads( 4 ) 
    4445        public void backoffAlone() { 
    4546                BlackHole.consumeCPU( WRITER_BACKOFF ); 
     
    4950        @GenerateMicroBenchmark 
    5051        @Group( "writeAlone" ) 
    51         @GroupThreads( 1 ) 
    52         public long writerSolo() { 
     52        @GroupThreads( 4 ) 
     53        public long writerSolo(final ThreadState ts) { 
    5354                BlackHole.consumeCPU( WRITER_BACKOFF ); 
    54                 return counter.incrementAndGet(); 
     55                return ts.counter.incrementAndGet(); 
    5556        } 
    5657 
     
    112113                return counter.get(); 
    113114        } 
     115 
     116        @State( Scope.Thread ) 
     117        public static class ThreadState { 
     118                public volatile AtomicLong counter = new AtomicLong(); 
     119 
     120        } 
    114121        /*=============================================================================*/ 
    115122 
  • Tests/JAVA/logger/src/main/java/com/db/logger/benchmarks/helpers/SequencerBenchmark.java

    r590 r591  
    2929        public static final int WRITER_BACKOFF = Integer.getInteger( "writer-backoff", 7 ); 
    3030 
    31         public static final WaitingStrategy WAITING_STRATEGY = new WaitingStrategy.LimitedSpinning( 1024 * 1024 ); 
     31        public static final WaitingStrategy WAITING_STRATEGY = new WaitingStrategy.LimitedSpinning( 1024 * 128 ); 
    3232 
    3333        static { 
     
    6767        @GenerateMicroBenchmark 
    6868        @Group( "payload" ) 
     69        @GroupThreads( 4 ) 
    6970        public void backoffAlone() { 
    7071                BlackHole.consumeCPU( WRITER_BACKOFF ); 
  • Tests/JAVA/logger/src/main/java/com/db/logger/benchmarks/helpers/UnsafeAtomicBenchmark.java

    r590 r591  
    33import java.lang.reflect.Field; 
    44import java.util.concurrent.TimeUnit; 
     5import java.util.concurrent.atomic.AtomicInteger; 
     6import java.util.concurrent.atomic.AtomicLong; 
    57 
    68import com.db.logger.api.impl.logger.UnsafeHelper; 
     
    3840        } 
    3941 
    40         public volatile int counter; 
     42        public volatile long counter; 
    4143 
    4244        @Setup 
     
    5759        public long incrementAndGet() { 
    5860                for(; ; ) { 
    59                         int current = counter; 
    60                         int next = current + 1; 
     61                        long current = counter; 
     62                        long next = current + 1; 
    6163                        if( UNSAFE.compareAndSwapLong( this, counterOffset, current, next ) ) { 
    6264                                return next; 
     
    6870        @GenerateMicroBenchmark 
    6971        @Group( "payload" ) 
     72        @GroupThreads( 4 ) 
    7073        public void backoffAlone() { 
    7174                BlackHole.consumeCPU( WRITER_BACKOFF ); 
     
    7578        @GenerateMicroBenchmark 
    7679        @Group( "writeAlone" ) 
    77         @GroupThreads( 1 ) 
    78         public long writerSolo() { 
     80        @GroupThreads( 4 ) 
     81        public long writerSolo( final ThreadState ts ) { 
    7982                BlackHole.consumeCPU( WRITER_BACKOFF ); 
    80                 return incrementAndGet(); 
     83                return ts.counter.incrementAndGet(); 
    8184        } 
    8285 
     
    140143        /*=============================================================================*/ 
    141144 
     145        @State( Scope.Thread ) 
     146        public static class ThreadState { 
     147                public volatile AtomicLong counter = new AtomicLong(); 
     148 
     149        } 
     150 
    142151 
    143152        public static void main( final String[] args ) throws Exception { 
Note: See TracChangeset for help on using the changeset viewer.