Changeset 482


Ignore:
Timestamp:
03/24/12 20:16:55 (9 years ago)
Author:
BegemoT
Message:
 
Location:
Tests/JAVA/test
Files:
5 added
33 edited
3 copied
1 moved

Legend:

Unmodified
Added
Removed
  • Tests/JAVA/test/src/main/java/test/helpers/Config.java

    r444 r482  
    2222 
    2323    public Config( final Properties properties ) { 
     24        putProperties( properties ); 
     25    } 
     26 
     27    private void putProperties( final Properties properties ) { 
    2428        for ( final Entry<Object, Object> entry : properties.entrySet() ) { 
    2529            this.properties.put( 
     
    4246            r.close(); 
    4347        } 
     48    } 
     49 
     50    public void append( final Properties p ) { 
     51        putProperties( p ); 
    4452    } 
    4553 
     
    146154        } 
    147155    } 
     156 
     157    public void print( final PrintStream ps ) { 
     158        for ( final Entry<String, String> entry : properties.entrySet() ) { 
     159            ps.printf( "%s = %s\n", entry.getKey(), entry.getValue() ); 
     160        } 
     161    } 
    148162} 
  • Tests/JAVA/test/src/main/java/test/threads/queue/stressed/ABQxNTask.java

    r460 r482  
    6464        lastEmulator = emulators[nodes - 1]; 
    6565 
    66         return new Enqueuer( inbox ); 
     66        return new Enqueuer( eventsInBatch(), eventFactory, inbox ); 
    6767    } 
    6868 
     
    136136    } 
    137137 
    138     private class Enqueuer extends EventEnqueuer { 
     138    private class Enqueuer extends EventEnqueuer<E> { 
    139139        private final BlockingQueue<E> inbox; 
    140140 
    141         private Enqueuer( final BlockingQueue<E> inbox ) { 
     141        private Enqueuer( final int eventsInBatch, 
     142                          final EventFactory<E> factory, 
     143                          final BlockingQueue<E> inbox ) { 
     144            super( eventsInBatch, factory ); 
    142145            this.inbox = inbox; 
    143146        } 
  • Tests/JAVA/test/src/main/java/test/threads/queue/stressed/AbstractTask.java

    r480 r482  
    22 
    33import java.util.concurrent.Executor; 
    4 import java.util.concurrent.atomic.AtomicIntegerFieldUpdater; 
    54 
    65import com.google.common.base.Throwables; 
     
    98import org.apache.commons.logging.LogFactory; 
    109import test.helpers.Config; 
    11 import test.threads.queue.stressed.AbstractTask.FSM.State; 
     10import test.threads.queue.common.BaseEnqueuer; 
     11import test.threads.queue.common.FSM.State; 
    1212 
    1313import static com.google.common.base.Preconditions.checkArgument; 
     
    4747    private boolean initialized = false; 
    4848    private EventFactory<E> eventFactory = null; 
    49     private EventEnqueuer eventEnqueuer = null; 
     49    private BaseEnqueuer eventEnqueuer = null; 
    5050    private Executor threadPool = null; 
    5151 
     
    9191    } 
    9292 
    93     protected abstract EventEnqueuer _initialize( final Executor threadPool, 
    94                                                   final IUsefulWorkEmulator<E>[] emulators, 
    95                                                   final EventFactory<E> factory ) throws Exception; 
     93    protected abstract BaseEnqueuer _initialize( final Executor threadPool, 
     94                                                 final IUsefulWorkEmulator<E>[] emulators, 
     95                                                 final EventFactory<E> factory ) throws Exception; 
    9696 
    9797    @Override 
     
    134134 
    135135        eventEnqueuer.pause(); 
     136        //wait for packets exhausted 
    136137        Thread.yield(); 
    137         //wait for packets exhausted 
    138         while ( eventEnqueuer.eventsEnqueued() > eventsDequeued 
    139                 || !eventEnqueuer.is( State.WAITING ) ) { 
     138        while ( !eventEnqueuer.is( State.WAITING ) ) { 
     139            while ( eventEnqueuer.eventsEnqueued() > eventsDequeued ) { 
    140140//            log.info( "Waiting for " + eventEnqueuer.eventsEnqueued() + " > " + eventsDequeued ); 
    141             dequeueBatchEvents( eventsInBatch ); 
    142             eventsDequeued += eventsInBatch; 
     141                dequeueBatchEvents( eventsInBatch ); 
     142                eventsDequeued += eventsInBatch; 
     143            } 
     144            Thread.yield(); 
    143145        } 
    144146        return measureResult; 
     
    181183    } 
    182184 
    183     protected abstract class EventEnqueuer implements Runnable { 
    184  
    185         private final FSM fsm = new FSM(); 
    186  
    187         private volatile long eventsEnqueued = 0; 
     185    protected abstract static class EventEnqueuer<E> extends BaseEnqueuer<E> { 
     186 
     187        private final EventFactory<E> eventFactory; 
     188 
     189 
     190        public EventEnqueuer( final int eventsInBatch, 
     191                              final EventFactory<E> eventFactory ) { 
     192            super( eventsInBatch ); 
     193            this.eventFactory = eventFactory; 
     194        } 
    188195 
    189196        @Override 
    190         public void run() { 
    191             try { 
    192                 final int eventsInBatch = eventsInBatch(); 
    193                 final EventFactory<E> factory = eventFactory(); 
    194                 fsm.initialize(); 
    195                 do { 
    196                     final State state = fsm.autoTransition(); 
    197                     switch ( state ) { 
    198                         case WAITING: 
    199                             waiting(); 
    200                             break; 
    201                         case RUNNING: 
    202                             running( eventsInBatch, factory ); 
    203                             break; 
    204                         case TERMINATING: 
    205                             log.info( "EventEnqueuer terminating" ); 
    206                             return; 
    207                         default: 
    208                             throw new IllegalStateException( "Unexpected state: " + state ); 
    209  
    210                     } 
    211                 } while ( true ); 
    212             } catch ( InterruptedException e ) { 
    213                 log.info( "EventEnqueuer interrupted" ); 
    214             } catch ( Throwable t ) { 
    215                 log.error( "EventEnqueuer exited unexpectedly", t ); 
    216                 throw Throwables.propagate( t ); 
    217             } 
    218         } 
    219  
    220         private void waiting() throws InterruptedException { 
    221             while ( fsm.is( State.WAITING ) ) { 
    222                 Thread.yield(); 
    223                 if ( Thread.interrupted() ) { 
    224                     throw new InterruptedException(); 
    225                 } 
    226             } 
    227         } 
    228  
    229         private void running( final int eventsInBatch, 
    230                               final EventFactory<E> factory ) throws Exception { 
    231             eventsEnqueued = 0; 
    232             while ( fsm.is( State.RUNNING ) ) { 
    233                 enqueueEventsBatch( eventsInBatch, factory ); 
    234                 eventsEnqueued += eventsInBatch; 
    235             } 
     197        protected void enqueueEventsBatch( final int eventsInBatch ) throws Exception { 
     198            enqueueEventsBatch( eventsInBatch, eventFactory ); 
    236199        } 
    237200 
     
    239202                                                    final EventFactory<E> factory ) throws Exception; 
    240203 
    241         public void waitForInitialized() { 
    242             while ( !fsm.is( State.WAITING ) ) { 
    243                 Thread.yield(); 
    244             } 
    245         } 
    246  
    247         public void start() { 
    248             fsm.start(); 
    249         } 
    250  
    251         public void waitForStarting() { 
    252             fsm.waitForState( State.RUNNING ); 
    253         } 
    254  
    255         public void pause() { 
    256             fsm.pause(); 
    257         } 
    258  
    259         public void waitForPausing() { 
    260             fsm.waitForState( State.WAITING ); 
    261         } 
    262  
    263         public boolean is( final State expected ) { 
    264             return fsm.is( expected ); 
    265         } 
    266  
    267         public void terminate() { 
    268             fsm.terminate(); 
    269         } 
    270  
    271         public long eventsEnqueued() { 
    272             return eventsEnqueued; 
    273         } 
    274     } 
    275  
    276     public static class FSM { 
    277         public enum State { 
    278             UNINITIALIZED, 
    279  
    280             BEFORE_RUN, 
    281             RUNNING, 
    282  
    283             BEFORE_WAIT, 
    284             WAITING, 
    285  
    286             BEFORE_TERMINATE, 
    287             TERMINATING 
    288         } 
    289  
    290         private static final State[] STATES = State.values(); 
    291  
    292         private static final AtomicIntegerFieldUpdater<FSM> UPDATER = AtomicIntegerFieldUpdater.newUpdater( 
    293                 FSM.class, 
    294                 "state" 
    295         ); 
    296  
    297         public volatile long $p1, $p2, $p3, $p4, $p5, $p6 = 7L; 
    298  
    299         private volatile int state = State.UNINITIALIZED.ordinal(); 
    300  
    301         public volatile long $p7, $p8, $p9, $p10, $p11, $p12 = 7L; 
    302  
    303         private boolean CAS( final State expected, 
    304                              final State changeTo ) { 
    305             return UPDATER.compareAndSet( this, expected.ordinal(), changeTo.ordinal() ); 
    306         } 
    307  
    308         private void changeState( final State expected, 
    309                                   final State changeTo ) throws IllegalStateException { 
    310             if ( !CAS( expected, changeTo ) ) { 
    311                 throw new IllegalStateException( "Unexpected state " + state() + " for transition (" + expected + " -> " + changeTo + ")" ); 
    312             } 
    313 //          log.debug( "transfer( " + expected + " -> " + changeTo + " )" ); 
    314         } 
    315  
    316         public State autoTransition() { 
    317             final State s = state(); 
    318             switch ( s ) { 
    319                 case BEFORE_WAIT: 
    320                     changeState( State.BEFORE_WAIT, State.WAITING ); 
    321                     return State.WAITING; 
    322                 case BEFORE_RUN: 
    323                     changeState( State.BEFORE_RUN, State.RUNNING ); 
    324                     return State.RUNNING; 
    325                 case BEFORE_TERMINATE: 
    326                     changeState( State.BEFORE_TERMINATE, State.TERMINATING ); 
    327                     return State.TERMINATING; 
    328                 default: 
    329                     return s; 
    330             } 
    331         } 
    332  
    333         public boolean is( final State expected ) { 
    334             return stateOrdinal() == expected.ordinal(); 
    335         } 
    336  
    337         public State state() { 
    338             return STATES[this.state]; 
    339         } 
    340  
    341         public int stateOrdinal() { 
    342             return this.state; 
    343         } 
    344  
    345         public void waitForState( final State expected ) { 
    346             while ( stateOrdinal() != expected.ordinal() ) { 
    347                 Thread.yield(); 
    348             } 
    349         } 
    350  
    351         public void initialize() { 
    352             changeState( State.UNINITIALIZED, State.BEFORE_WAIT ); 
    353         } 
    354  
    355         public void start() { 
    356             changeState( State.WAITING, State.BEFORE_RUN ); 
    357 //            waitForState( State.RUNNING ); 
    358         } 
    359  
    360         public void pause() { 
    361             changeState( State.RUNNING, State.BEFORE_WAIT ); 
    362 //            waitForState( State.WAITING ); 
    363         } 
    364  
    365         public void terminate() { 
    366             final State s = state(); 
    367             switch ( s ) { 
    368                 case WAITING: 
    369                 case RUNNING: 
    370                     changeState( s, State.BEFORE_TERMINATE ); 
    371                     break; 
    372  
    373                 case BEFORE_TERMINATE: 
    374                     break;//nothing to do here 
    375  
    376 //                case BEFORE_WAIT: 
    377 //                case BEFORE_RUN: 
    378                 default: 
    379                     throw new IllegalStateException( "Unexpected state " + s + " for terminate()" ); 
    380             } 
    381             waitForState( State.TERMINATING ); 
    382         } 
    383     } 
     204    } 
     205 
    384206} 
  • Tests/JAVA/test/src/main/java/test/threads/queue/stressed/DxNTask.java

    r477 r482  
    8686        } 
    8787 
    88         return new Enqueuer( ringBuffer ); 
     88        return new Enqueuer( eventsInBatch(), eventFactory, ringBuffer ); 
    8989    } 
    9090 
     
    147147    } 
    148148 
    149     private class Enqueuer extends EventEnqueuer { 
     149    private class Enqueuer extends EventEnqueuer<E> { 
    150150        private final RingBuffer<E> ringBuffer; 
    151151 
    152         private Enqueuer( final RingBuffer<E> ringBuffer ) { 
     152        private Enqueuer( final int eventsInBatch, 
     153                          final EventFactory<E> factory, 
     154                          final RingBuffer<E> ringBuffer ) { 
     155            super( eventsInBatch, factory ); 
    153156            this.ringBuffer = ringBuffer; 
    154157        } 
  • Tests/JAVA/test/src/main/java/test/threads/queue/stressed/ITask.java

    r460 r482  
    4242 
    4343        public String print( final String taskName, 
    44                              final String wasterID, 
    45                              final int opsPerPacket ) { 
     44                             final String payload ) { 
    4645            return String.format( 
    4746                    Locale.US, 
    48                     "%s@%s: %d packets of %d ops, takes %d ms (%.1f packets/ms, %.1f ops/ms)", 
     47                    "%s@%s: %d packets of %s, takes %d ms (%.1f packets/ms)", 
    4948                    taskName, 
    50                     wasterID, 
    51                     turnsCompleted, opsPerPacket, 
     49                    payload, 
     50                    turnsCompleted, payload, 
    5251                    timeEllapsedMilliseconds, 
    53                     turnsCompleted * 1.0 / timeEllapsedMilliseconds, 
    54                     turnsCompleted * 1.0 * opsPerPacket / timeEllapsedMilliseconds 
     52                    turnsCompleted * 1.0 / timeEllapsedMilliseconds 
    5553 
    5654            ); 
     
    5856 
    5957        public String printTabular( final String taskName, 
    60                                     final String wasterID, 
    61                                     final int opsPerPacket ) { 
     58                                    final String payloadDescription ) { 
    6259            return String.format( 
    6360                    Locale.US, 
    64                     "%s@%s\t%d\t%d\t%d\t%.1f\t%.1f", 
     61                    "%s@%s\t%d\t%d\t%.1f", 
    6562                    taskName, 
    66                     wasterID, 
    67                     turnsCompleted, opsPerPacket, 
     63                    payloadDescription, 
     64                    turnsCompleted, 
    6865                    timeEllapsedMilliseconds, 
    69                     turnsCompleted * 1.0 / timeEllapsedMilliseconds, 
    70                     turnsCompleted * 1.0 * opsPerPacket / timeEllapsedMilliseconds 
     66                    turnsCompleted * 1.0 / timeEllapsedMilliseconds 
    7167 
    7268            ); 
  • Tests/JAVA/test/src/main/java/test/threads/queue/stressed/IUsefulWorkFactory.java

    r433 r482  
    1111public interface IUsefulWorkFactory<E> extends EventFactory<E> { 
    1212 
    13     public void initialize( final int workSizePerEmulator ); 
    14  
    1513    public IUsefulWorkEmulator<E>[] createEmulators( final int count ); 
    1614} 
  • Tests/JAVA/test/src/main/java/test/threads/queue/stressed/SingleThreadedTask.java

    r480 r482  
    4646                                         final EventFactory<E> factory ) throws Exception { 
    4747        this.emulator = emulators[0]; 
    48         return new EventEnqueuer() { 
     48        return new EventEnqueuer<E>( eventsInBatch(), factory ) { 
    4949            @Override 
    5050            protected void enqueueEventsBatch( final int eventsInBatch, 
  • Tests/JAVA/test/src/main/java/test/threads/queue/stressed/TaskBenchmark.java

    r474 r482  
    66import java.text.ParseException; 
    77import java.util.Arrays; 
     8import java.util.Properties; 
    89import java.util.concurrent.*; 
    910 
     11import org.apache.commons.cli.*; 
    1012import org.apache.commons.logging.Log; 
    1113import org.apache.commons.logging.LogFactory; 
     
    1820import test.threads.queue.stressed.memory.MemoryWasterFactory; 
    1921import test.threads.queue.unstressed.BenchmarkThreadFactory; 
    20  
    21 import static com.google.common.base.Preconditions.checkArgument; 
     22import test.threads.queue.unstressed.DummyWasterFactory; 
    2223 
    2324/** 
     
    3738    private static final long DEFAULT_WARMUP_DURATION_SECONDS = 30;//=30 sec 
    3839 
     40    private static final String DEFAULT_CONFIG_FILE = "./config.properties"; 
     41 
    3942 
    4043    /** Arguments: (taskClass: "...") (usefulWorkFactoryID: "cpu"/"memory"/...) [taskSize: long] */ 
     
    5558        ); 
    5659 
    57         final String taskClass = args[0]; 
    58         final String usefulWorkFactoryID = args[1]; 
    59  
    60         final int opsPerPacket = Integer.parseInt( args[2] ); 
    61  
    62         final Config config = Config.load( new File( "./config.properties" ) ); 
    63  
    64         final ThreadFactory threadFactory = createThreadFactory( config ); 
    65  
    66         //create task 
    67         final ITask task = createTaskInstance( taskClass, config ); 
    68  
    69         final int workersCount = task.workersRequired(); 
    70         checkArgument( opsPerPacket % workersCount == 0, "opsPerPacket(%s) % workerCount(%s) must be 0", opsPerPacket, workersCount ); 
    71         //create pool 
    72         final ExecutorService pool = Executors.newFixedThreadPool( workersCount, threadFactory ); 
    73  
    74         //create stress factory 
    75         final IUsefulWorkFactory usefulWorkFactory = createUsefulWorkFactory( usefulWorkFactoryID ); 
    76  
    77         final int opsPerNode = opsPerPacket / workersCount; 
    78         usefulWorkFactory.initialize( opsPerNode ); 
    79         final IUsefulWorkEmulator[] emulators = usefulWorkFactory.createEmulators( workersCount ); 
    80  
    81         task.initialize( pool, emulators, usefulWorkFactory ); 
    82  
    83  
    84         final String taskName = task.toString(); 
    85         final String wasterID = usefulWorkFactory.toString(); 
    86  
    87         final long benchmarkDurationMs = TimeUnit.SECONDS.toMillis( 
    88                 config.getAsLong( 
    89                         "general.benchmark-duration", 
    90                         DEFAULT_BENCHMARK_DURATION_SECONDS 
    91                 ) 
    92         ); 
    93         final long warmUpDurationMs = TimeUnit.SECONDS.toMillis( 
    94                 config.getAsLong( 
    95                         "general.warm-up-duration", 
    96                         DEFAULT_WARMUP_DURATION_SECONDS 
    97                 ) 
    98         ); 
    99         final int turns = config.getAsInt( "general.turns", TURNS ); 
    100         System.out.printf( 
    101                 "%s: %d s for warm up, %d for benchmark, %d ops per packet, %d turns\n\n", 
    102                 task, 
    103                 warmUpDurationMs / 1000, 
    104                 benchmarkDurationMs / 1000, 
    105                 opsPerPacket, 
    106                 turns 
    107         ); 
    108         log.info( "\n\n\n" ); 
     60        final Options options = new Options(); 
     61        options.addOption( OptionBuilder.withLongOpt( "task" ) 
     62                                   .withDescription( "class of task to benchmark" ) 
     63                                   .hasArg() 
     64                                   .isRequired() 
     65                                   .withArgName( "TASK" ) 
     66                                   .create() 
     67        ); 
     68        options.addOption( OptionBuilder.withLongOpt( "payload" ) 
     69                                   .withDescription( "type of payload for benchmark" ) 
     70                                   .hasArg() 
     71                                   .isRequired() 
     72                                   .withArgName( "payload" ) 
     73                                   .create() 
     74        ); 
     75 
     76        options.addOption( OptionBuilder.withLongOpt( "opsPerPacket" ) 
     77                                   .withDescription( "operations per packet" ) 
     78                                   .hasArg() 
     79                                   .isRequired() 
     80                                   .withArgName( "opsPerPacket" ) 
     81                                   .create() 
     82        ); 
     83        options.addOption( OptionBuilder.withLongOpt( "config" ) 
     84                                   .withDescription( ".properties file containing configuration data (default is " + DEFAULT_CONFIG_FILE + ")" ) 
     85                                   .hasArg() 
     86                                   .withArgName( "CONFIG" ) 
     87                                   .create() 
     88        ); 
     89        options.addOption( OptionBuilder.withArgName( "property=value" ) 
     90                                   .hasArgs( 2 ) 
     91                                   .withValueSeparator() 
     92                                   .withDescription( "use value for given property" ) 
     93                                   .create( "D" ) 
     94        ); 
     95 
     96        final CommandLineParser parser = new GnuParser(); 
    10997        try { 
    110             {//warm up 
    111                 final BenchmarkResult result = task.execute( warmUpDurationMs, warmUpDurationMs ); 
    112                 System.out.println( "Warm up " + result.print( taskName, wasterID, opsPerPacket ) ); 
    113                 System.out.println(); 
     98            final CommandLine cmd = parser.parse( options, args ); 
     99 
     100 
     101            final String taskClass = cmd.getOptionValue( "task" ); 
     102            final String usefulWorkFactoryID = cmd.getOptionValue( "payload" ); 
     103 
     104//            final int opsPerPacket = Integer.parseInt( cmd.getOptionValue( "opsPerPacket" ) ); 
     105 
     106            final String configFile; 
     107            if ( cmd.hasOption( "config" ) ) { 
     108                configFile = cmd.getOptionValue( "config" ); 
     109            } else { 
     110                configFile = DEFAULT_CONFIG_FILE; 
    114111            } 
    115             for ( int i = 0; i < turns; i++ ) { 
    116                 final BenchmarkResult result = task.execute( warmUpDurationMs, benchmarkDurationMs ); 
    117  
    118                 System.out.println( result.print( taskName, wasterID, opsPerPacket ) ); 
    119  
    120                 log.info( result.printTabular( taskName, wasterID, opsPerPacket ) ); 
    121  
    122                 System.gc(); 
    123                 System.gc(); 
    124                 Thread.sleep( 500 );//give GC time to finish async tasks 
     112            final Config config = Config.load( new File( configFile ) ); 
     113 
     114            final Properties properties = cmd.getOptionProperties( "D" ); 
     115            config.append( properties ); 
     116 
     117            config.print( System.out ); 
     118 
     119            final ThreadFactory threadFactory = createThreadFactory( config ); 
     120 
     121            //create task 
     122            final ITask task = createTaskInstance( taskClass, config ); 
     123 
     124            final int workersCount = task.workersRequired(); 
     125            //create pool 
     126            final ExecutorService pool = Executors.newFixedThreadPool( workersCount, threadFactory ); 
     127 
     128            //create stress factory 
     129            final IUsefulWorkFactory usefulWorkFactory = createUsefulWorkFactory( 
     130                    usefulWorkFactoryID, 
     131                    config 
     132            ); 
     133 
     134//            final int opsPerNode = opsPerPacket / workersCount; 
     135            final IUsefulWorkEmulator[] emulators = usefulWorkFactory.createEmulators( workersCount ); 
     136 
     137            task.initialize( pool, emulators, usefulWorkFactory ); 
     138 
     139 
     140            final String taskName = task.toString(); 
     141            final String payloadID = usefulWorkFactory.toString(); 
     142 
     143            final long benchmarkDurationMs = TimeUnit.SECONDS.toMillis( 
     144                    config.getAsLong( 
     145                            "general.benchmark-duration", 
     146                            DEFAULT_BENCHMARK_DURATION_SECONDS 
     147                    ) 
     148            ); 
     149            final long warmUpDurationMs = TimeUnit.SECONDS.toMillis( 
     150                    config.getAsLong( 
     151                            "general.warm-up-duration", 
     152                            DEFAULT_WARMUP_DURATION_SECONDS 
     153                    ) 
     154            ); 
     155            final int turns = config.getAsInt( "general.turns", TURNS ); 
     156            System.out.printf( 
     157                    "%s: %d s for warm up, %d for benchmark, payload: %s, %d turns\n\n", 
     158                    task, 
     159                    warmUpDurationMs / 1000, 
     160                    benchmarkDurationMs / 1000, 
     161                    usefulWorkFactory, 
     162                    turns 
     163            ); 
     164            log.info( "\n\n\n" ); 
     165            try { 
     166                {//warm up 
     167                    final BenchmarkResult result = task.execute( warmUpDurationMs, warmUpDurationMs ); 
     168                    System.out.println( "Warm up " + result.print( taskName, payloadID ) ); 
     169                    System.out.println(); 
     170                } 
     171                for ( int i = 0; i < turns; i++ ) { 
     172                    final BenchmarkResult result = task.execute( warmUpDurationMs, benchmarkDurationMs ); 
     173 
     174                    System.out.println( result.print( taskName, payloadID ) ); 
     175 
     176                    log.info( result.printTabular( taskName, payloadID ) ); 
     177 
     178                    System.gc(); 
     179                    System.gc(); 
     180                    Thread.sleep( 500 );//give GC time to finish async tasks 
     181                } 
     182            } catch ( Exception e ) { 
     183                e.printStackTrace( System.err ); 
     184            } finally { 
     185                task.terminate(); 
     186 
     187                pool.shutdown(); 
     188                pool.awaitTermination( 1, TimeUnit.SECONDS ); 
     189                pool.shutdownNow(); 
    125190            } 
    126         } catch ( Exception e ) { 
    127             e.printStackTrace( System.err ); 
    128         } finally { 
    129             task.terminate(); 
    130  
    131             pool.shutdown(); 
    132             pool.awaitTermination( 1, TimeUnit.SECONDS ); 
    133             pool.shutdownNow(); 
    134         } 
    135         System.exit( 0 ); 
     191            System.exit( 0 ); 
     192        } catch ( org.apache.commons.cli.ParseException e ) { 
     193            log.error( "Error parsing command line arguments", e ); 
     194        } 
     195        final HelpFormatter formatter = new HelpFormatter(); 
     196        formatter.printHelp( "vanga", options ); 
    136197    } 
    137198 
     
    147208    } 
    148209 
    149     private static IUsefulWorkFactory<?> createUsefulWorkFactory( final String usefulWorkFactoryID ) throws InstantiationException, IllegalAccessException, ClassNotFoundException { 
     210    private static IUsefulWorkFactory<?> createUsefulWorkFactory( final String usefulWorkFactoryID, 
     211                                                                  final Config config ) throws InstantiationException, IllegalAccessException, ClassNotFoundException { 
    150212        if ( "cpu".equals( usefulWorkFactoryID ) ) { 
    151             return new CPUWasterFactory(); 
     213            return new CPUWasterFactory( config ); 
    152214        } else if ( "memory".equals( usefulWorkFactoryID ) ) { 
    153             return new MemoryWasterFactory(); 
     215            return new MemoryWasterFactory( config ); 
    154216        } else if ( "cpu-memory".equals( usefulWorkFactoryID ) ) { 
    155             return new CPUMemoryWasterFactory(); 
     217            return new CPUMemoryWasterFactory( config ); 
     218        } else if ( "none".equals( usefulWorkFactoryID ) ) { 
     219            return new DummyWasterFactory( config ); 
    156220        } 
    157221        throw new UnsupportedOperationException( "Method is not implemented for " + usefulWorkFactoryID ); 
  • Tests/JAVA/test/src/main/java/test/threads/queue/stressed/cpu/CPUWasterFactory.java

    r458 r482  
    44 
    55import net.jcip.annotations.NotThreadSafe; 
     6import test.helpers.Config; 
    67import test.threads.queue.stressed.IUsefulWorkEmulator; 
    78import test.threads.queue.stressed.IUsefulWorkFactory; 
     
    1819public class CPUWasterFactory implements IUsefulWorkFactory<LongValueMessage> { 
    1920 
     21    private final int opsPerPacket; 
     22 
     23    public CPUWasterFactory( final Config config ) { 
     24        opsPerPacket = config.getAsInt( "payload.ops-per-packet" ); 
     25    } 
     26 
    2027    private int operationsPerNode; 
    2128 
    2229    @Override 
    23     public void initialize( final int workSizePerEmulator ) { 
    24         this.operationsPerNode = workSizePerEmulator; 
    25     } 
     30    public IUsefulWorkEmulator<LongValueMessage>[] createEmulators( final int count ) { 
     31        checkArgument( opsPerPacket % count == 0, "opsPerPacket(%s) % workerCount(%s) must be 0", opsPerPacket, count ); 
     32        operationsPerNode = opsPerPacket/count; 
    2633 
    27     @Override 
    28     public IUsefulWorkEmulator<LongValueMessage>[] createEmulators( final int count ) { 
    2934        final IUsefulWorkEmulator<LongValueMessage>[] emulators = new IUsefulWorkEmulator[count]; 
    3035        final CPUTimeWaster cpuTimeWaster = new CPUTimeWaster( operationsPerNode ); 
  • Tests/JAVA/test/src/main/java/test/threads/queue/stressed/memory/CPUMemoryWasterFactory.java

    r458 r482  
    55import net.jcip.annotations.Immutable; 
    66import net.jcip.annotations.NotThreadSafe; 
     7import test.helpers.Config; 
    78import test.threads.queue.stressed.IUsefulWorkEmulator; 
    89import test.threads.queue.stressed.IUsefulWorkFactory; 
     
    1718public class CPUMemoryWasterFactory implements IUsefulWorkFactory<LongArrayMessage> { 
    1819 
     20    private final int opsPerPacket; 
     21 
     22    public CPUMemoryWasterFactory( final Config config ) { 
     23        opsPerPacket = config.getAsInt( "payload.ops-per-packet" ); 
     24    } 
     25 
    1926    private int size = -1; 
    2027 
    2128    @Override 
    22     public void initialize( final int workSizePerEmulator ) { 
    23         this.size = workSizePerEmulator; 
    24     } 
     29    public IUsefulWorkEmulator<LongArrayMessage>[] createEmulators( final int count ) { 
     30        checkArgument( opsPerPacket % count == 0, "opsPerPacket(%s) % workerCount(%s) must be 0", opsPerPacket, count ); 
     31        size = opsPerPacket / count; 
    2532 
    26     @Override 
    27     public IUsefulWorkEmulator<LongArrayMessage>[] createEmulators( final int count ) { 
    2833        final IUsefulWorkEmulator<LongArrayMessage>[] emulators = new IUsefulWorkEmulator[count]; 
    2934 
  • Tests/JAVA/test/src/main/java/test/threads/queue/stressed/memory/MemoryWasterFactory.java

    r459 r482  
    55import net.jcip.annotations.Immutable; 
    66import net.jcip.annotations.NotThreadSafe; 
     7import test.helpers.Config; 
    78import test.threads.queue.stressed.IUsefulWorkEmulator; 
    89import test.threads.queue.stressed.IUsefulWorkFactory; 
     10 
     11import static com.google.common.base.Preconditions.checkArgument; 
    912 
    1013/** 
     
    1518public class MemoryWasterFactory implements IUsefulWorkFactory<LongArrayMessage> { 
    1619 
     20    private final int opsPerPacket; 
     21 
     22    public MemoryWasterFactory( final Config config ) { 
     23        opsPerPacket = config.getAsInt( "payload.ops-per-packet" ); 
     24    } 
     25 
    1726    private int size = -1; 
    1827 
    1928    @Override 
    20     public void initialize( final int workSizePerEmulator ) { 
    21         this.size = workSizePerEmulator; 
    22     } 
     29    public IUsefulWorkEmulator<LongArrayMessage>[] createEmulators( final int count ) { 
     30        checkArgument( opsPerPacket % count == 0, "opsPerPacket(%s) % workerCount(%s) must be 0", opsPerPacket, count ); 
     31        size = opsPerPacket / count; 
    2332 
    24     @Override 
    25     public IUsefulWorkEmulator<LongArrayMessage>[] createEmulators( final int count ) { 
    2633        final IUsefulWorkEmulator<LongArrayMessage>[] emulators = new IUsefulWorkEmulator[count]; 
    2734 
  • Tests/JAVA/test/src/main/java/test/threads/queue/unstressed/DisruptorTask.java

    r477 r482  
    1 package test.threads.queue.stressed; 
     1package test.threads.queue.unstressed; 
    22 
    3 import java.util.List; 
    43import java.util.concurrent.Executor; 
    54 
    6 import com.google.common.collect.Lists; 
    75import com.lmax.disruptor.*; 
    86import org.apache.commons.logging.Log; 
    97import org.apache.commons.logging.LogFactory; 
    108import test.helpers.Config; 
     9import test.threads.queue.stressed.AbstractTask; 
     10import test.threads.queue.stressed.IUsefulWorkEmulator; 
    1111 
    1212/** 
    13  * (source) -> 0 -> 1 -> 2 -> ... -> N 
     13 * (source) -> destination 
    1414 * 
    1515 * @author cheremin 
    1616 * @since 27.02.12,  15:00 
    1717 */ 
    18 public class DxNTask<E> extends AbstractTask<E> { 
    19     private static final Log log = LogFactory.getLog( DxNTask.class ); 
     18public class DisruptorTask<E> extends AbstractTask<E> { 
     19    private static final Log log = LogFactory.getLog( DisruptorTask.class ); 
    2020 
    2121    private final WaitStrategy waitStrategy; 
    2222    private final boolean publishInBatch; 
    2323 
    24     private final int nodes; 
    25  
    26     public DxNTask( final Config config ) throws ClassNotFoundException, InstantiationException, IllegalAccessException { 
     24    public DisruptorTask( final Config config ) throws ClassNotFoundException, InstantiationException, IllegalAccessException { 
    2725        super( config ); 
    2826 
     
    3230        ); 
    3331 
    34         this.nodes = config.getAsInt( "pipeline.nodes" ); 
    3532        this.publishInBatch = config.getAsBoolean( "disruptor.publish-in-batch", false ); 
    3633    } 
     
    3835 
    3936    private RingBuffer<E> ringBuffer; 
    40     private EventProcessor[] processors; 
    41  
    42     @Override 
    43     public int workersRequired() { 
    44         return nodes; 
    45     } 
    4637 
    4738    private SequenceBarrier lastSequenceBarrier; 
     39 
    4840    private final Sequence lastSequence = new Sequence( Sequencer.INITIAL_CURSOR_VALUE ); 
    49     private IUsefulWorkEmulator<E> lastEmulator; 
    50  
    5141    @Override 
    5242    protected EventEnqueuer _initialize( final Executor threadPool, 
     
    6151        ); 
    6252 
    63         SequenceBarrier previousBarrier = ringBuffer.newBarrier(); 
    64         final List<EventProcessor> processors = Lists.newArrayList(); 
    65         for ( int i = 0; i < nodes - 1; i++ ) { 
    66             final IUsefulWorkEmulator<E> emulator = emulators[i]; 
    67             final PassThroughHandler<E> handler = new PassThroughHandler<E>( emulator ); 
    68             final BatchEventProcessor<E> processor = new BatchEventProcessor<E>( 
    69                     ringBuffer, 
    70                     previousBarrier, 
    71                     handler 
    72             ); 
    73             previousBarrier = ringBuffer.newBarrier( processor.getSequence() ); 
    74             processors.add( processor ); 
    75         } 
     53        final SequenceBarrier barrier = ringBuffer.newBarrier(); 
    7654 
    77         this.processors = processors.toArray( new EventProcessor[0] ); 
    78  
    79         lastSequenceBarrier = previousBarrier; 
    80         lastEmulator = emulators[emulators.length - 1]; 
     55        lastSequenceBarrier = barrier; 
    8156 
    8257        ringBuffer.setGatingSequences( lastSequence ); 
    8358 
    84         for ( final EventProcessor processor : processors ) { 
    85             threadPool.execute( processor ); 
    86         } 
    87  
    88         return new Enqueuer( ringBuffer ); 
     59        return new Enqueuer( eventsInBatch(), eventFactory, ringBuffer ); 
    8960    } 
    9061 
     
    10374            while ( nextSequence <= availableSequence ) { 
    10475                final E event = ringBuffer.get( nextSequence ); 
    105                 lastEmulator.spendCPUTime( event ); 
    106  
    10776                nextSequence++; 
    10877            } 
     
    11180    } 
    11281 
     82    @Override 
     83    public int workersRequired() { 
     84        return 1; 
     85    } 
     86 
    11387 
    11488    @Override 
    11589    public void terminate() { 
    11690        super.terminate(); 
    117  
    118         for ( final EventProcessor processor : processors ) { 
    119             processor.halt(); 
    120         } 
    12191    } 
    12292 
     
    147117    } 
    148118 
    149     private class Enqueuer extends EventEnqueuer { 
     119    private class Enqueuer extends EventEnqueuer<E> { 
    150120        private final RingBuffer<E> ringBuffer; 
    151121 
    152         private Enqueuer( final RingBuffer<E> ringBuffer ) { 
     122        private Enqueuer( final int eventsInBatch, 
     123                          final EventFactory<E> factory, 
     124                          final RingBuffer<E> ringBuffer ) { 
     125            super( eventsInBatch, factory ); 
    153126            this.ringBuffer = ringBuffer; 
    154127        } 
  • Tests/JAVA/test/src/main/java/test/threads/queue/unstressed/DummyWasterFactory.java

    r472 r482  
    1 package test.threads.queue.stressed.cpu; 
     1package test.threads.queue.unstressed; 
    22 
    33import java.util.Arrays; 
    44 
     5import com.lmax.disruptor.EventFactory; 
    56import net.jcip.annotations.NotThreadSafe; 
     7import test.helpers.Config; 
    68import test.threads.queue.stressed.IUsefulWorkEmulator; 
    79import test.threads.queue.stressed.IUsefulWorkFactory; 
    8  
    9 import static com.google.common.base.Preconditions.checkArgument; 
     10import test.threads.queue.stressed.cpu.LongValueMessage; 
    1011 
    1112/** 
     
    1617 */ 
    1718@NotThreadSafe 
    18 public class CPUWasterFactory implements IUsefulWorkFactory<LongValueMessage> { 
     19public class DummyWasterFactory implements IUsefulWorkFactory<LongValueMessage> { 
    1920 
    20     private int operationsPerNode; 
    2121 
    22     @Override 
    23     public void initialize( final int workSizePerEmulator ) { 
    24         this.operationsPerNode = workSizePerEmulator; 
     22    private final EventFactory<LongValueMessage> factory; 
     23    private final boolean cacheMessages; 
     24 
     25    public DummyWasterFactory( final Config config ) { 
     26        cacheMessages = config.getAsBoolean( "payload.cache-messages", true ); 
     27        if ( cacheMessages ) { 
     28            final int size = config.getAsInt( "task.buffer-size" ); 
     29            factory = EventPool.wrap( LongValueMessage.FACTORY, size ); 
     30        } else { 
     31            factory = LongValueMessage.FACTORY; 
     32        } 
    2533    } 
    2634 
     
    2836    public IUsefulWorkEmulator<LongValueMessage>[] createEmulators( final int count ) { 
    2937        final IUsefulWorkEmulator<LongValueMessage>[] emulators = new IUsefulWorkEmulator[count]; 
    30         final CPUTimeWaster cpuTimeWaster = new CPUTimeWaster( operationsPerNode ); 
     38        final NoTimeWaster cpuTimeWaster = new NoTimeWaster(); 
    3139        Arrays.fill( emulators, cpuTimeWaster ); 
    3240        return emulators; 
    3341    } 
    3442 
    35     private long index = 0; 
    3643 
    3744    @Override 
    3845    public LongValueMessage newInstance() { 
    39         final LongValueMessage message = LongValueMessage.FACTORY.newInstance(); 
    40         message.value = index++; 
     46        final LongValueMessage message = factory.newInstance(); 
    4147        return message; 
    4248    } 
     
    4450    @Override 
    4551    public String toString() { 
    46         return "cpu"; 
     52        return "none[" + ( cacheMessages ? "cache" : "" ) + "]"; 
    4753    } 
    4854 
    4955    /** 
    50      * Just simple mul/add -- only consume CPU cycles 
    51      * 
    5256     * @author cheremin 
    5357     * @since 27.02.12,  13:42 
    5458     */ 
    55     private static class CPUTimeWaster implements IUsefulWorkEmulator<LongValueMessage> { 
    56         private static final long MUL_CONSTANT = 42 * 37; 
    57         private final int time; 
     59    private static class NoTimeWaster implements IUsefulWorkEmulator<LongValueMessage> { 
    5860 
    59         public CPUTimeWaster( final int time ) { 
    60             checkArgument( time > 0, "time(%s) must be > 0", time ); 
    61             this.time = time; 
     61        public NoTimeWaster() { 
    6262        } 
    6363 
    6464        @Override 
    6565        public long spendCPUTime( final LongValueMessage message ) { 
    66             long value = message.value; 
    67             for ( int i = 0; i < time; i++ ) { 
    68                 value = next( value ); 
    69             } 
    70             message.value = value; 
    71             return value; 
    72         } 
    73  
    74         private long next( final long current ) { 
    75             return current * MUL_CONSTANT + 42; 
     66            return 0; 
    7667        } 
    7768    } 
  • Tests/JAVA/test/src/main/java/test/threads/queue/unstressed/LongQueueBenchmarkingTask.java

    r417 r482  
    33import java.util.concurrent.*; 
    44 
    5 import test.threads.queue.impl.CABSESDMaskedLongQueue; 
     5import test.threads.queue.unstressed.impl.CABSESDMaskedLongQueue; 
    66 
    77/** 
  • Tests/JAVA/test/src/main/java/test/threads/queue/unstressed/QueueBenchmarkingTask.java

    r419 r482  
    88 
    99/** 
    10  * fixme: Class QueueBenchmarkingTask is for porn 
    11  * 
    1210 * @author cheremin 
    1311 * @since 27.09.11,  16:06 
     12 * @deprecated use {@link QueueTask} instead 
    1413 */ 
     14@Deprecated 
    1515public class QueueBenchmarkingTask extends AbstractBenchmarkingTask { 
    1616    private static final Log log = LogFactory.getLog( QueueBenchmarkingTask.class ); 
     
    5151 
    5252    public static class Enqueuer implements Callable<Void> { 
    53         enum State{ 
     53        enum State { 
    5454            NOT_READY, 
    5555            READY, 
     
    5757            FINISHED 
    5858        } 
     59 
    5960        private final int iterations; 
    6061        private final IQueue<LongValueEntry> queue; 
  • Tests/JAVA/test/src/main/java/test/threads/queue/unstressed/QueuesVsDisruptorUnstressedBenchmark.java

    r428 r482  
    77import test.threads.ThreadAffinity; 
    88import test.threads.ThreadAffinity.Core; 
    9 import test.threads.queue.impl.*; 
     9import test.threads.queue.unstressed.impl.*; 
    1010 
    1111/** 
     
    189189                    break; 
    190190 
    191  
     191                case 9: 
     192                    task = new QueueBenchmarkingTask( 
     193                            ABQBusyWaitQueue.<LongValueEntry>factory(), 
     194                            size, 
     195                            eventFactory, 
     196                            ITERATIONS, 
     197                            TURNS, 
     198                            warmUpDurationMs, 
     199                            threadFactory 
     200                    ); 
     201                    break; 
    192202                default: 
    193203                    throw new IllegalStateException( "Unknown index=" + index ); 
  • Tests/JAVA/test/src/main/java/test/threads/queue/unstressed/SequencerBenchmarkingTask.java

    r417 r482  
    33import java.util.concurrent.*; 
    44 
    5 import test.threads.queue.impl.SESDSequencer; 
     5import test.threads.queue.unstressed.impl.SESDSequencer; 
    66 
    77/** 
  • Tests/JAVA/test/src/main/java/test/threads/queue/unstressed/impl/ABQWrapperQueue.java

    r417 r482  
    1 package test.threads.queue.impl; 
     1package test.threads.queue.unstressed.impl; 
    22 
    33import java.util.concurrent.ArrayBlockingQueue; 
    44 
    5 import org.apache.commons.logging.Log; 
    6 import org.apache.commons.logging.LogFactory; 
    75import test.threads.queue.unstressed.IBoundedQueueFactory; 
    86import test.threads.queue.unstressed.IQueue; 
    9  
    10 import static com.google.common.base.Preconditions.*; 
    117 
    128/** 
  • Tests/JAVA/test/src/main/java/test/threads/queue/unstressed/impl/AbstractMultiEnqMultiDeqQueueTest.java

    r417 r482  
    1 package test.threads.queue.impl; 
     1package test.threads.queue.unstressed.impl; 
    22 
    33import java.util.concurrent.Callable; 
  • Tests/JAVA/test/src/main/java/test/threads/queue/unstressed/impl/AbstractQueueTest.java

    r417 r482  
    1 package test.threads.queue.impl; 
     1package test.threads.queue.unstressed.impl; 
    22 
    33import java.util.ArrayList; 
    44import java.util.List; 
    55 
    6 import gnu.trove.THashSet; 
    76import org.junit.*; 
    87import test.threads.queue.unstressed.IQueue; 
    9  
    10 import static org.junit.Assert.*; 
    118 
    129/** 
  • Tests/JAVA/test/src/main/java/test/threads/queue/unstressed/impl/AbstractSESDSequencer.java

    r416 r482  
    1 package test.threads.queue.impl; 
     1package test.threads.queue.unstressed.impl; 
    22 
    33import java.lang.reflect.Field; 
  • Tests/JAVA/test/src/main/java/test/threads/queue/unstressed/impl/AbstractSingleEnqSingleDeqQueueTest.java

    r417 r482  
    1 package test.threads.queue.impl; 
     1package test.threads.queue.unstressed.impl; 
    22 
    33import java.util.ArrayList; 
  • Tests/JAVA/test/src/main/java/test/threads/queue/unstressed/impl/CABCQueueTest.java

    r417 r482  
    1 package test.threads.queue.impl; 
     1package test.threads.queue.unstressed.impl; 
    22 
    33 
  • Tests/JAVA/test/src/main/java/test/threads/queue/unstressed/impl/CABConcurrentQueue.java

    r417 r482  
    1 package test.threads.queue.impl; 
     1package test.threads.queue.unstressed.impl; 
    22 
    33import java.util.concurrent.atomic.AtomicLongFieldUpdater; 
     
    1919 * @since 21.09.11,  13:56 
    2020 */ 
     21@Deprecated 
    2122public class CABConcurrentQueue<T> implements IQueue<T> { 
    2223 
  • Tests/JAVA/test/src/main/java/test/threads/queue/unstressed/impl/CABSESDLongQueue.java

    r313 r482  
    1 package test.threads.queue.impl; 
     1package test.threads.queue.unstressed.impl; 
    22 
    33 
  • Tests/JAVA/test/src/main/java/test/threads/queue/unstressed/impl/CABSESDMaskedLongQueue.java

    r306 r482  
    1 package test.threads.queue.impl; 
     1package test.threads.queue.unstressed.impl; 
    22 
    33 
  • Tests/JAVA/test/src/main/java/test/threads/queue/unstressed/impl/CABSESDMaskedQueue.java

    r417 r482  
    1 package test.threads.queue.impl; 
     1package test.threads.queue.unstressed.impl; 
    22 
    33 
  • Tests/JAVA/test/src/main/java/test/threads/queue/unstressed/impl/CABSESDMaskedQueueOptimized.java

    r417 r482  
    1 package test.threads.queue.impl; 
     1package test.threads.queue.unstressed.impl; 
    22 
    33import java.lang.reflect.Field; 
     
    55 
    66import com.google.common.base.Throwables; 
    7 import org.apache.commons.logging.Log; 
    8 import org.apache.commons.logging.LogFactory; 
    97import sun.misc.Unsafe; 
    108import test.sorting.UnsafeHelper; 
    119import test.threads.queue.unstressed.IBoundedQueueFactory; 
    1210import test.threads.queue.unstressed.IQueue; 
    13  
    14 import static com.google.common.base.Preconditions.*; 
    1511 
    1612/** 
  • Tests/JAVA/test/src/main/java/test/threads/queue/unstressed/impl/CABSESDQueue.java

    r417 r482  
    1 package test.threads.queue.impl; 
     1package test.threads.queue.unstressed.impl; 
    22 
    33 
  • Tests/JAVA/test/src/main/java/test/threads/queue/unstressed/impl/CABSESDQueueTest.java

    r417 r482  
    1 package test.threads.queue.impl; 
     1package test.threads.queue.unstressed.impl; 
    22 
    33import test.threads.queue.unstressed.IQueue; 
  • Tests/JAVA/test/src/main/java/test/threads/queue/unstressed/impl/SESDQueue.java

    r417 r482  
    1 package test.threads.queue.impl; 
     1package test.threads.queue.unstressed.impl; 
    22 
    33import test.threads.queue.unstressed.IBoundedQueueFactory; 
  • Tests/JAVA/test/src/main/java/test/threads/queue/unstressed/impl/SESDSequencer.java

    r306 r482  
    1 package test.threads.queue.impl; 
     1package test.threads.queue.unstressed.impl; 
    22 
    33 
  • Tests/JAVA/test/src/main/java/test/threads/queue/unstressed/impl/SESDSequencer2.java

    r309 r482  
    1 package test.threads.queue.impl; 
     1package test.threads.queue.unstressed.impl; 
    22 
    33import java.util.concurrent.atomic.AtomicLongFieldUpdater; 
  • Tests/JAVA/test/task_benchmark.sh

    r481 r482  
    1515rm result.data 
    1616 
    17 #for OPS in 1000000 100000 10000 1024 128 16 4 
    18 for OPS in 4096 2048 1024 512 256 128 
     17for OPS in 1000000 100000 10000 1024 128 16 4 
     18#for OPS in 4096 2048 1024 512 256 128 
    1919do 
    2020    mvn exec:java -Dexec.mainClass="test.threads.queue.stressed.TaskBenchmark" \ 
    21         -Dexec.args="test.threads.queue.stressed.$TYPE $STRESS_TYPE $OPS" -e 
     21        -Dexec.args="--task=test.threads.queue.stressed.$TYPE --payload=$STRESS_TYPE --opsPerPacket=$OPS" -e 
    2222done 
  • Tests/JAVA/test/test.iws

    r481 r482  
    4141  <component name="ChangeListManager"> 
    4242    <list default="true" readonly="true" id="6898b49f-ea82-4df2-ad6c-da63a3fe4f9a" name="Default" comment=""> 
     43      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/common" /> 
     44      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/common/BaseEnqueuer.java" /> 
     45      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/common/FSM.java" /> 
     46      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/DisruptorTask.java" /> 
     47      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/DummyWasterFactory.java" /> 
     48      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/QueueTask.java" /> 
     49      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/impl/ABQBusyWaitQueue.java" /> 
     50      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/unstressed_task_benchmark.sh" /> 
     51      <change type="MOVED" beforePath="$PROJECT_DIR$/src/main/java/test/threads/queue/impl/ABQWrapperQueue.java" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/impl/ABQWrapperQueue.java" /> 
     52      <change type="MOVED" beforePath="$PROJECT_DIR$/src/main/java/test/threads/queue/impl/AbstractMultiEnqMultiDeqQueueTest.java" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/impl/AbstractMultiEnqMultiDeqQueueTest.java" /> 
     53      <change type="MOVED" beforePath="$PROJECT_DIR$/src/main/java/test/threads/queue/impl/AbstractQueueTest.java" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/impl/AbstractQueueTest.java" /> 
     54      <change type="MOVED" beforePath="$PROJECT_DIR$/src/main/java/test/threads/queue/impl/AbstractSESDSequencer.java" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/impl/AbstractSESDSequencer.java" /> 
     55      <change type="MOVED" beforePath="$PROJECT_DIR$/src/main/java/test/threads/queue/impl/AbstractSingleEnqSingleDeqQueueTest.java" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/impl/AbstractSingleEnqSingleDeqQueueTest.java" /> 
     56      <change type="MOVED" beforePath="$PROJECT_DIR$/src/main/java/test/threads/queue/impl/CABCQueueTest.java" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/impl/CABCQueueTest.java" /> 
     57      <change type="MOVED" beforePath="$PROJECT_DIR$/src/main/java/test/threads/queue/impl/CABConcurrentQueue.java" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/impl/CABConcurrentQueue.java" /> 
     58      <change type="MOVED" beforePath="$PROJECT_DIR$/src/main/java/test/threads/queue/impl/CABSESDLongQueue.java" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/impl/CABSESDLongQueue.java" /> 
     59      <change type="MOVED" beforePath="$PROJECT_DIR$/src/main/java/test/threads/queue/impl/CABSESDMaskedLongQueue.java" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/impl/CABSESDMaskedLongQueue.java" /> 
     60      <change type="MOVED" beforePath="$PROJECT_DIR$/src/main/java/test/threads/queue/impl/CABSESDMaskedQueue.java" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/impl/CABSESDMaskedQueue.java" /> 
     61      <change type="MOVED" beforePath="$PROJECT_DIR$/src/main/java/test/threads/queue/impl/CABSESDMaskedQueueOptimized.java" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/impl/CABSESDMaskedQueueOptimized.java" /> 
     62      <change type="MOVED" beforePath="$PROJECT_DIR$/src/main/java/test/threads/queue/impl/CABSESDQueue.java" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/impl/CABSESDQueue.java" /> 
     63      <change type="MOVED" beforePath="$PROJECT_DIR$/src/main/java/test/threads/queue/impl/CABSESDQueueTest.java" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/impl/CABSESDQueueTest.java" /> 
     64      <change type="MOVED" beforePath="$PROJECT_DIR$/src/main/java/test/threads/queue/impl/SESDQueue.java" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/impl/SESDQueue.java" /> 
     65      <change type="MOVED" beforePath="$PROJECT_DIR$/src/main/java/test/threads/queue/impl/SESDSequencer.java" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/impl/SESDSequencer.java" /> 
     66      <change type="MOVED" beforePath="$PROJECT_DIR$/src/main/java/test/threads/queue/impl/SESDSequencer2.java" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/impl/SESDSequencer2.java" /> 
     67      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/test/helpers/Config.java" afterPath="$PROJECT_DIR$/src/main/java/test/helpers/Config.java" /> 
     68      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/ABQxNTask.java" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/ABQxNTask.java" /> 
     69      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/AbstractTask.java" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/AbstractTask.java" /> 
     70      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/DxNTask.java" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/DxNTask.java" /> 
     71      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/ITask.java" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/ITask.java" /> 
     72      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/IUsefulWorkFactory.java" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/IUsefulWorkFactory.java" /> 
     73      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/SingleThreadedTask.java" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/SingleThreadedTask.java" /> 
     74      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/TaskBenchmark.java" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/TaskBenchmark.java" /> 
     75      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/cpu/CPUWasterFactory.java" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/cpu/CPUWasterFactory.java" /> 
     76      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/memory/CPUMemoryWasterFactory.java" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/memory/CPUMemoryWasterFactory.java" /> 
     77      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/memory/MemoryWasterFactory.java" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/memory/MemoryWasterFactory.java" /> 
     78      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/LongQueueBenchmarkingTask.java" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/LongQueueBenchmarkingTask.java" /> 
     79      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/QueueBenchmarkingTask.java" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/QueueBenchmarkingTask.java" /> 
     80      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/QueuesVsDisruptorUnstressedBenchmark.java" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/QueuesVsDisruptorUnstressedBenchmark.java" /> 
     81      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/SequencerBenchmarkingTask.java" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/SequencerBenchmarkingTask.java" /> 
    4382      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/task_benchmark.sh" afterPath="$PROJECT_DIR$/task_benchmark.sh" /> 
    4483      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/test.iws" afterPath="$PROJECT_DIR$/test.iws" /> 
     84      <change type="MOVED" beforePath="$PROJECT_DIR$/src/main/java/test/threads/queue/impl" afterPath="$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/impl" /> 
    4585    </list> 
    4686    <ignored path=".idea/workspace.xml" /> 
     
    80120        <option name="LOG_MESSAGE" value="JAVA" /> 
    81121      </breakpoint> 
    82       <breakpoint url="file://$PROJECT_DIR$/src/main/java/test/threads/queue/impl/AbstractSingleEnqSingleDeqQueueTest.java" line="53" class="test.threads.queue.impl.AbstractSingleEnqSingleDeqQueueTest" package="test.threads.queue.impl"> 
     122      <breakpoint url="file://$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/impl/AbstractSingleEnqSingleDeqQueueTest.java" line="53" class="test.threads.queue.unstressed.impl.AbstractSingleEnqSingleDeqQueueTest" package="test.threads.queue.unstressed.impl"> 
    83123        <option name="ENABLED" value="true" /> 
    84124        <option name="LOG_ENABLED" value="false" /> 
     
    203243  <component name="FileEditorManager"> 
    204244    <leaf> 
    205       <file leaf-file-name="DxNTask.java" pinned="false" current="false" current-in-tab="false"> 
    206         <entry file="file://$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/DxNTask.java"> 
     245      <file leaf-file-name="unstressed_task_benchmark.sh" pinned="false" current="false" current-in-tab="false"> 
     246        <entry file="file://$PROJECT_DIR$/unstressed_task_benchmark.sh"> 
    207247          <provider selected="true" editor-type-id="text-editor"> 
    208             <state line="74" column="25" selection-start="2568" selection-end="2568" vertical-scroll-proportion="0.0"> 
     248            <state line="5" column="0" selection-start="196" selection-end="196" vertical-scroll-proportion="0.0"> 
    209249              <folding /> 
    210250            </state> 
     
    212252        </entry> 
    213253      </file> 
    214       <file leaf-file-name="task_benchmark.sh" pinned="false" current="true" current-in-tab="true"> 
    215         <entry file="file://$PROJECT_DIR$/task_benchmark.sh"> 
     254      <file leaf-file-name="DisruptorTask.java" pinned="false" current="false" current-in-tab="false"> 
     255        <entry file="file://$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/DisruptorTask.java"> 
    216256          <provider selected="true" editor-type-id="text-editor"> 
    217             <state line="17" column="18" selection-start="355" selection-end="355" vertical-scroll-proportion="0.5743243"> 
    218               <folding /> 
    219             </state> 
    220           </provider> 
    221         </entry> 
    222       </file> 
    223       <file leaf-file-name="CPUMemoryWasterFactory.java" pinned="false" current="false" current-in-tab="false"> 
    224         <entry file="file://$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/memory/CPUMemoryWasterFactory.java"> 
    225           <provider selected="true" editor-type-id="text-editor"> 
    226             <state line="44" column="23" selection-start="1290" selection-end="1290" vertical-scroll-proportion="0.0"> 
    227               <folding /> 
    228             </state> 
    229           </provider> 
    230         </entry> 
    231       </file> 
    232       <file leaf-file-name="ABQxNTask.java" pinned="false" current="false" current-in-tab="false"> 
    233         <entry file="file://$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/ABQxNTask.java"> 
    234           <provider selected="true" editor-type-id="text-editor"> 
    235             <state line="62" column="0" selection-start="1755" selection-end="1755" vertical-scroll-proportion="0.0"> 
    236               <folding /> 
    237             </state> 
    238           </provider> 
    239         </entry> 
    240       </file> 
    241       <file leaf-file-name="TaskBenchmark.java" pinned="false" current="false" current-in-tab="false"> 
    242         <entry file="file://$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/TaskBenchmark.java"> 
    243           <provider selected="true" editor-type-id="text-editor"> 
    244             <state line="126" column="41" selection-start="5085" selection-end="5085" vertical-scroll-proportion="0.0"> 
    245               <folding /> 
     257            <state line="69" column="0" selection-start="2242" selection-end="2242" vertical-scroll-proportion="0.0"> 
     258              <folding> 
     259                <element signature="imports" expanded="true" /> 
     260                <element signature="method#workersRequired#0;class#DisruptorTask#0" expanded="false" /> 
     261                <element signature="method#terminate#0;class#DisruptorTask#0" expanded="false" /> 
     262                <element signature="method#toString#0;class#DisruptorTask#0" expanded="false" /> 
     263                <element signature="class#PassThroughHandler#0;class#DisruptorTask#0" expanded="false" /> 
     264                <element signature="method#PassThroughHandler#0;class#PassThroughHandler#0;class#DisruptorTask#0" expanded="false" /> 
     265                <element signature="method#onEvent#0;class#PassThroughHandler#0;class#DisruptorTask#0" expanded="false" /> 
     266                <element signature="class#Enqueuer#0;class#DisruptorTask#0" expanded="false" /> 
     267                <element signature="method#Enqueuer#0;class#Enqueuer#0;class#DisruptorTask#0" expanded="false" /> 
     268                <element signature="method#enqueueEventsBatch#0;class#Enqueuer#0;class#DisruptorTask#0" expanded="false" /> 
     269              </folding> 
    246270            </state> 
    247271          </provider> 
     
    251275        <entry file="file://$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/AbstractTask.java"> 
    252276          <provider selected="true" editor-type-id="text-editor"> 
    253             <state line="237" column="0" selection-start="8557" selection-end="8557" vertical-scroll-proportion="0.0"> 
    254               <folding /> 
     277            <state line="143" column="27" selection-start="5258" selection-end="5258" vertical-scroll-proportion="0.0"> 
     278              <folding> 
     279                <element signature="method#AbstractTask#0;class#AbstractTask#0" expanded="false" /> 
     280                <element signature="method#AbstractTask#1;class#AbstractTask#0" expanded="false" /> 
     281                <element signature="method#AbstractTask#2;class#AbstractTask#0" expanded="false" /> 
     282                <element signature="method#AbstractTask#3;class#AbstractTask#0" expanded="false" /> 
     283                <element signature="method#bufferSize#0;class#AbstractTask#0" expanded="false" /> 
     284                <element signature="method#eventsInBatch#0;class#AbstractTask#0" expanded="false" /> 
     285                <element signature="method#eventFactory#0;class#AbstractTask#0" expanded="false" /> 
     286                <element signature="method#execute#0;class#AbstractTask#0" expanded="false" /> 
     287                <element signature="method#terminate#0;class#AbstractTask#0" expanded="false" /> 
     288                <element signature="method#dequeueWhileTimeIsNotEllapsed#0;class#AbstractTask#0" expanded="false" /> 
     289                <element signature="method#toString#0;class#AbstractTask#0" expanded="false" /> 
     290                <element signature="class#EventEnqueuer#0;class#AbstractTask#0" expanded="false" /> 
     291                <element signature="method#EventEnqueuer#0;class#EventEnqueuer#0;class#AbstractTask#0" expanded="false" /> 
     292                <element signature="method#enqueueEventsBatch#0;class#EventEnqueuer#0;class#AbstractTask#0" expanded="false" /> 
     293              </folding> 
    255294            </state> 
    256295          </provider> 
    257296        </entry> 
    258297      </file> 
    259       <file leaf-file-name="SingleThreadedTask.java" pinned="false" current="false" current-in-tab="false"> 
    260         <entry file="file://$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/SingleThreadedTask.java"> 
     298      <file leaf-file-name="TaskBenchmark.java" pinned="false" current="true" current-in-tab="true"> 
     299        <entry file="file://$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/TaskBenchmark.java"> 
    261300          <provider selected="true" editor-type-id="text-editor"> 
    262             <state line="77" column="41" selection-start="2741" selection-end="2741" vertical-scroll-proportion="0.0"> 
     301            <state line="140" column="34" selection-start="5847" selection-end="5847" vertical-scroll-proportion="-0.4445946"> 
     302              <folding> 
     303                <element signature="imports" expanded="true" /> 
     304                <element signature="docComment;class#TaskBenchmark#0" expanded="true" /> 
     305                <element signature="docComment;method#main#0;class#TaskBenchmark#0" expanded="true" /> 
     306              </folding> 
     307            </state> 
     308          </provider> 
     309        </entry> 
     310      </file> 
     311      <file leaf-file-name="DummyWasterFactory.java" pinned="false" current="false" current-in-tab="false"> 
     312        <entry file="file://$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/DummyWasterFactory.java"> 
     313          <provider selected="true" editor-type-id="text-editor"> 
     314            <state line="51" column="57" selection-start="1642" selection-end="1642" vertical-scroll-proportion="0.0"> 
     315              <folding> 
     316                <element signature="docComment;class#NoTimeWaster#0;class#DummyWasterFactory#0" expanded="true" /> 
     317              </folding> 
     318            </state> 
     319          </provider> 
     320        </entry> 
     321      </file> 
     322      <file leaf-file-name="config.properties" pinned="false" current="false" current-in-tab="false"> 
     323        <entry file="file://$PROJECT_DIR$/config.properties"> 
     324          <provider selected="true" editor-type-id="text-editor"> 
     325            <state line="9" column="34" selection-start="250" selection-end="250" vertical-scroll-proportion="0.0"> 
    263326              <folding /> 
    264327            </state> 
     
    280343    <option name="changedFiles"> 
    281344      <list> 
    282         <option value="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/Dp4Task.java" /> 
     345        <option value="$PROJECT_DIR$/unstressed_task_benchmark.sh" /> 
     346        <option value="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/ABQxNTask.java" /> 
     347        <option value="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/DxNTask.java" /> 
     348        <option value="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/SingleThreadedTask.java" /> 
     349        <option value="$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/DisruptorTask.java" /> 
    283350        <option value="$PROJECT_DIR$/src/main/java/test/helpers/Config.java" /> 
    284         <option value="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/ABQp4Task.java" /> 
    285         <option value="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/memory/MemoryAccessWasterFactory.java" /> 
    286         <option value="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/cpu/SimpleCPUWasterFactory.java" /> 
     351        <option value="$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/QueueTask.java" /> 
     352        <option value="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/IUsefulWorkFactory.java" /> 
     353        <option value="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/memory/CPUMemoryWasterFactory.java" /> 
    287354        <option value="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/memory/MemoryWasterFactory.java" /> 
     355        <option value="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/cpu/CPUWasterFactory.java" /> 
     356        <option value="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/AbstractTask.java" /> 
     357        <option value="$PROJECT_DIR$/config.properties" /> 
     358        <option value="$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/DummyWasterFactory.java" /> 
    288359        <option value="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/ITask.java" /> 
    289         <option value="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/ABQxNTask.java" /> 
    290360        <option value="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/TaskBenchmark.java" /> 
    291         <option value="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/DxNTask.java" /> 
    292         <option value="$PROJECT_DIR$/config.properties.template" /> 
    293         <option value="$PROJECT_DIR$/config.properties" /> 
    294         <option value="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/AbstractTask.java" /> 
    295         <option value="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/memory/CPUMemoryWasterFactory.java" /> 
    296         <option value="$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/SingleThreadedTask.java" /> 
    297         <option value="$PROJECT_DIR$/task_benchmark.sh" /> 
    298361      </list> 
    299362    </option> 
     
    935998              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> 
    936999            </PATH_ELEMENT> 
     1000            <PATH_ELEMENT> 
     1001              <option name="myItemId" value="unstressed" /> 
     1002              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> 
     1003            </PATH_ELEMENT> 
    9371004          </PATH> 
    9381005          <PATH> 
     
    9701037            </PATH_ELEMENT> 
    9711038            <PATH_ELEMENT> 
    972               <option name="myItemId" value="stressed" /> 
     1039              <option name="myItemId" value="unstressed" /> 
     1040              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> 
     1041            </PATH_ELEMENT> 
     1042            <PATH_ELEMENT> 
     1043              <option name="myItemId" value="impl" /> 
    9731044              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> 
    9741045            </PATH_ELEMENT> 
     
    10071078              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> 
    10081079            </PATH_ELEMENT> 
    1009             <PATH_ELEMENT> 
    1010               <option name="myItemId" value="stressed" /> 
    1011               <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> 
    1012             </PATH_ELEMENT> 
    1013             <PATH_ELEMENT> 
    1014               <option name="myItemId" value="memory" /> 
    1015               <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> 
    1016             </PATH_ELEMENT> 
    10171080          </PATH> 
    10181081          <PATH> 
     
    10501113            </PATH_ELEMENT> 
    10511114            <PATH_ELEMENT> 
    1052               <option name="myItemId" value="stressed" /> 
    1053               <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> 
    1054             </PATH_ELEMENT> 
    1055             <PATH_ELEMENT> 
    1056               <option name="myItemId" value="cpu" /> 
     1115              <option name="myItemId" value="common" /> 
     1116              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> 
     1117            </PATH_ELEMENT> 
     1118          </PATH> 
     1119          <PATH> 
     1120            <PATH_ELEMENT> 
     1121              <option name="myItemId" value="test" /> 
     1122              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> 
     1123            </PATH_ELEMENT> 
     1124            <PATH_ELEMENT> 
     1125              <option name="myItemId" value="test" /> 
     1126              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> 
     1127            </PATH_ELEMENT> 
     1128            <PATH_ELEMENT> 
     1129              <option name="myItemId" value="src" /> 
     1130              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> 
     1131            </PATH_ELEMENT> 
     1132            <PATH_ELEMENT> 
     1133              <option name="myItemId" value="main" /> 
     1134              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> 
     1135            </PATH_ELEMENT> 
     1136            <PATH_ELEMENT> 
     1137              <option name="myItemId" value="java" /> 
     1138              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> 
     1139            </PATH_ELEMENT> 
     1140            <PATH_ELEMENT> 
     1141              <option name="myItemId" value="test" /> 
     1142              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> 
     1143            </PATH_ELEMENT> 
     1144            <PATH_ELEMENT> 
     1145              <option name="myItemId" value="helpers" /> 
    10571146              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> 
    10581147            </PATH_ELEMENT> 
     
    11141203  <component name="RecentsManager"> 
    11151204    <key name="CopyClassDialog.RECENTS_KEY"> 
     1205      <recent name="test.threads.queue.unstressed" /> 
    11161206      <recent name="test.threads.queue.stressed.memory" /> 
    11171207      <recent name="test.threads.queue.stressed" /> 
    11181208      <recent name="test.threads" /> 
    11191209      <recent name="test.threads.queue.impl" /> 
    1120       <recent name="test.threads.queue" /> 
    11211210    </key> 
    11221211    <key name="CopyFile.RECENT_KEYS"> 
     
    11291218      <recent name="test.strings" /> 
    11301219    </key> 
     1220    <key name="IntroduceConstantDialog.RECENTS_KEY"> 
     1221      <recent name="test.threads.cache.CacheBenchmark2" /> 
     1222      <recent name="test.sandbox.jetlang.LockFreeBatchSubscriberPerf" /> 
     1223      <recent name="test.hflabs.ParallelMain" /> 
     1224    </key> 
    11311225    <key name="MoveMembersDialog.RECENTS_KEY"> 
    11321226      <recent name="test.threads.queue.stressed.TaskBenchmark" /> 
     
    11351229      <recent name="test.threads.queue.QueueBenchmarkingTask" /> 
    11361230    </key> 
    1137     <key name="IntroduceConstantDialog.RECENTS_KEY"> 
    1138       <recent name="test.threads.cache.CacheBenchmark2" /> 
    1139       <recent name="test.sandbox.jetlang.LockFreeBatchSubscriberPerf" /> 
    1140       <recent name="test.hflabs.ParallelMain" /> 
    1141     </key> 
    11421231    <key name="CreateClassDialog.RecentsKey"> 
     1232      <recent name="test.threads.queue.unstressed" /> 
    11431233      <recent name="test.threads.queue.stressed" /> 
    11441234      <recent name="test.threads.queue.cpubound" /> 
    11451235      <recent name="test.threads.queue" /> 
    11461236      <recent name="test.threads.queue.impl" /> 
    1147       <recent name="test.strings" /> 
    11481237    </key> 
    11491238    <key name="MoveClassesOrPackagesDialog.RECENTS_KEY"> 
     1239      <recent name="test.threads.queue.unstressed.impl" /> 
     1240      <recent name="test.threads.queue.unstressed" /> 
    11501241      <recent name="test.threads.queue.stressed.old" /> 
    11511242      <recent name="test.threads.queue.stressed.cpu" /> 
    11521243      <recent name="test.sorting" /> 
    1153       <recent name="test.threads.queue.impl" /> 
    1154       <recent name="test.helpers.ldap.fpd" /> 
    11551244    </key> 
    11561245  </component> 
    1157   <component name="RunManager" selected="Application.TaskBenchmark[SingleThread]"> 
     1246  <component name="RunManager" selected="Application.unstressed.TaskBenchmark[SESD]"> 
    11581247    <configuration default="false" name="CABSESDQueueTest" type="JUnit" factoryName="JUnit" temporary="true"> 
    11591248      <module name="test" /> 
    11601249      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> 
    11611250      <option name="ALTERNATIVE_JRE_PATH" value="" /> 
    1162       <option name="PACKAGE_NAME" value="test.threads.queue.impl" /> 
    1163       <option name="MAIN_CLASS_NAME" value="test.threads.queue.impl.CABSESDQueueTest" /> 
     1251      <option name="PACKAGE_NAME" value="test.threads.queue.unstressed.impl" /> 
     1252      <option name="MAIN_CLASS_NAME" value="test.threads.queue.unstressed.impl.CABSESDQueueTest" /> 
    11641253      <option name="METHOD_NAME" value="" /> 
    11651254      <option name="TEST_OBJECT" value="class" /> 
     
    12001289      <method /> 
    12011290    </configuration> 
    1202     <configuration default="false" name="test.threads.queue.impl in test" type="JUnit" factoryName="JUnit" temporary="true"> 
     1291    <configuration default="false" name="test.threads.queue.unstressed.impl in test" type="JUnit" factoryName="JUnit" temporary="true"> 
    12031292      <module name="test" /> 
    12041293      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> 
    12051294      <option name="ALTERNATIVE_JRE_PATH" value="" /> 
    1206       <option name="PACKAGE_NAME" value="test.threads.queue.impl" /> 
     1295      <option name="PACKAGE_NAME" value="test.threads.queue.unstressed.impl" /> 
    12071296      <option name="MAIN_CLASS_NAME" value="" /> 
    12081297      <option name="METHOD_NAME" value="" /> 
     
    13631452    </configuration> 
    13641453    <configuration default="false" name="QueueBenchmark[ABQ]" type="Application" factoryName="Application"> 
    1365       <option name="MAIN_CLASS_NAME" value="test.threads.queue.QueuesVsDisruptorUnstressedBenchmark" /> 
     1454      <option name="MAIN_CLASS_NAME" value="test.threads.queue.unstressed.QueuesVsDisruptorUnstressedBenchmark" /> 
    13661455      <option name="VM_PARAMETERS" value="-da -server -Xmx512m -Xms512" /> 
    1367       <option name="PROGRAM_PARAMETERS" value="0 true" /> 
     1456      <option name="PROGRAM_PARAMETERS" value="0" /> 
    13681457      <option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" /> 
    13691458      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> 
     
    13871476      <method /> 
    13881477    </configuration> 
     1478    <configuration default="false" name="QueueBenchmark[ABQBusyWait]" type="Application" factoryName="Application"> 
     1479      <option name="MAIN_CLASS_NAME" value="test.threads.queue.unstressed.QueuesVsDisruptorUnstressedBenchmark" /> 
     1480      <option name="VM_PARAMETERS" value="-da -server -Xmx512m -Xms512" /> 
     1481      <option name="PROGRAM_PARAMETERS" value="9" /> 
     1482      <option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" /> 
     1483      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> 
     1484      <option name="ALTERNATIVE_JRE_PATH" value="" /> 
     1485      <option name="ENABLE_SWING_INSPECTOR" value="false" /> 
     1486      <option name="ENV_VARIABLES" /> 
     1487      <option name="PASS_PARENT_ENVS" value="true" /> 
     1488      <module name="test" /> 
     1489      <envs /> 
     1490      <RunnerSettings RunnerId="Debug"> 
     1491        <option name="DEBUG_PORT" value="64428" /> 
     1492        <option name="TRANSPORT" value="0" /> 
     1493        <option name="LOCAL" value="true" /> 
     1494      </RunnerSettings> 
     1495      <RunnerSettings RunnerId="Profile "> 
     1496        <option name="myExternalizedOptions" value="&#10;snapshots-dir=&#10;additional-options2=onexit\=snapshot&#10;" /> 
     1497      </RunnerSettings> 
     1498      <RunnerSettings RunnerId="Run" /> 
     1499      <ConfigurationWrapper RunnerId="Debug" /> 
     1500      <ConfigurationWrapper RunnerId="Run" /> 
     1501      <method /> 
     1502    </configuration> 
    13891503    <configuration default="false" name="QueueBenchmark[SESDMaskedOptimized]" type="Application" factoryName="Application"> 
    1390       <option name="MAIN_CLASS_NAME" value="test.threads.queue.QueuesVsDisruptorUnstressedBenchmark" /> 
    1391       <option name="VM_PARAMETERS" value="-da -server -Xmx512m -Xms512m -XX:+AggressiveOpts -XX:+UnlockDiagnosticVMOptions -XX:CompileCommand=print,*Optimized.enqueue -XX:-UseCondCardMark" /> 
    1392       <option name="PROGRAM_PARAMETERS" value="4 30" /> 
     1504      <option name="MAIN_CLASS_NAME" value="test.threads.queue.unstressed.QueuesVsDisruptorUnstressedBenchmark" /> 
     1505      <option name="VM_PARAMETERS" value="-da -server -Xmx512m -Xms512m -XX:+AggressiveOpts -XX:+UnlockDiagnosticVMOptions" /> 
     1506      <option name="PROGRAM_PARAMETERS" value="4" /> 
    13931507      <option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" /> 
    13941508      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" /> 
     
    14571571    </configuration> 
    14581572    <configuration default="false" name="QueueBenchmark[DisruptorWithBatch]" type="Application" factoryName="Application"> 
    1459       <option name="MAIN_CLASS_NAME" value="test.threads.queue.QueuesVsDisruptorUnstressedBenchmark" /> 
     1573      <option name="MAIN_CLASS_NAME" value="test.threads.queue.unstressed.QueuesVsDisruptorUnstressedBenchmark" /> 
    14601574      <option name="VM_PARAMETERS" value="-da -server -Xmx512m -Xms512" /> 
    1461       <option name="PROGRAM_PARAMETERS" value="5 true" /> 
     1575      <option name="PROGRAM_PARAMETERS" value="5" /> 
    14621576      <option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" /> 
    14631577      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> 
     
    16451759      <option name="MAIN_CLASS_NAME" value="test.threads.queue.stressed.TaskBenchmark" /> 
    16461760      <option name="VM_PARAMETERS" value="-ea -server -Xmx128m -XX:+PrintCommandLineFlags " /> 
    1647       <option name="PROGRAM_PARAMETERS" value="test.threads.queue.stressed.SingleThreadedTask memory 128" /> 
     1761      <option name="PROGRAM_PARAMETERS" value="-task=test.threads.queue.stressed.SingleThreadedTask --payload=memory --opsPerPacket=128" /> 
    16481762      <option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" /> 
    16491763      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" /> 
     
    16641778      <option name="MAIN_CLASS_NAME" value="test.threads.queue.stressed.TaskBenchmark" /> 
    16651779      <option name="VM_PARAMETERS" value="-ea -server -Xmx128m -XX:+PrintCommandLineFlags " /> 
    1666       <option name="PROGRAM_PARAMETERS" value="test.threads.queue.stressed.ABQxNTask cpu 1024" /> 
     1780      <option name="PROGRAM_PARAMETERS" value="--task=test.threads.queue.stressed.ABQxNTask --payload=cpu --opsPerPacket=1024" /> 
    16671781      <option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" /> 
    16681782      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" /> 
     
    16891803      <option name="MAIN_CLASS_NAME" value="test.threads.queue.stressed.TaskBenchmark" /> 
    16901804      <option name="VM_PARAMETERS" value="-ea -server -Xmx128m -XX:+PrintCommandLineFlags " /> 
    1691       <option name="PROGRAM_PARAMETERS" value="test.threads.queue.stressed.DxNTask cpu 100000" /> 
     1805      <option name="PROGRAM_PARAMETERS" value="--task=test.threads.queue.stressed.DxNTask --payload=cpu --opsPerPacket=100000" /> 
    16921806      <option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" /> 
    16931807      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" /> 
     
    17081822      <RunnerSettings RunnerId="Run" /> 
    17091823      <ConfigurationWrapper RunnerId="Debug" /> 
     1824      <ConfigurationWrapper RunnerId="Run" /> 
     1825      <method /> 
     1826    </configuration> 
     1827    <configuration default="false" name="unstressed.TaskBenchmark[Disruptor]" type="Application" factoryName="Application"> 
     1828      <option name="MAIN_CLASS_NAME" value="test.threads.queue.stressed.TaskBenchmark" /> 
     1829      <option name="VM_PARAMETERS" value="-ea -server -Xmx128m -XX:+PrintCommandLineFlags " /> 
     1830      <option name="PROGRAM_PARAMETERS" value="-task=test.threads.queue.unstressed.DisruptorTask --payload=none --opsPerPacket=128" /> 
     1831      <option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" /> 
     1832      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" /> 
     1833      <option name="ALTERNATIVE_JRE_PATH" value="$PROJECT_DIR$/../../../../1.7.0.jdk/Contents/Home" /> 
     1834      <option name="ENABLE_SWING_INSPECTOR" value="false" /> 
     1835      <option name="ENV_VARIABLES" /> 
     1836      <option name="PASS_PARENT_ENVS" value="true" /> 
     1837      <module name="test" /> 
     1838      <envs /> 
     1839      <RunnerSettings RunnerId="Debug"> 
     1840        <option name="DEBUG_PORT" value="50636" /> 
     1841        <option name="TRANSPORT" value="0" /> 
     1842        <option name="LOCAL" value="true" /> 
     1843      </RunnerSettings> 
     1844      <RunnerSettings RunnerId="Profile "> 
     1845        <option name="myExternalizedOptions" value="&#10;snapshots-dir=&#10;additional-options2=onexit\=snapshot&#10;" /> 
     1846      </RunnerSettings> 
     1847      <RunnerSettings RunnerId="Run" /> 
     1848      <ConfigurationWrapper RunnerId="Debug" /> 
     1849      <ConfigurationWrapper RunnerId="Run" /> 
     1850      <method /> 
     1851    </configuration> 
     1852    <configuration default="false" name="unstressed.TaskBenchmark[ABQBusyWait]" type="Application" factoryName="Application"> 
     1853      <option name="MAIN_CLASS_NAME" value="test.threads.queue.stressed.TaskBenchmark" /> 
     1854      <option name="VM_PARAMETERS" value="-ea -server -Xmx128m -XX:+PrintCommandLineFlags " /> 
     1855      <option name="PROGRAM_PARAMETERS" value="-task=test.threads.queue.unstressed.QueueTask --payload=none --opsPerPacket=128 -Dtask.queue-factory=test.threads.queue.unstressed.impl.ABQBusyWaitQueue" /> 
     1856      <option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" /> 
     1857      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" /> 
     1858      <option name="ALTERNATIVE_JRE_PATH" value="$PROJECT_DIR$/../../../../1.7.0.jdk/Contents/Home" /> 
     1859      <option name="ENABLE_SWING_INSPECTOR" value="false" /> 
     1860      <option name="ENV_VARIABLES" /> 
     1861      <option name="PASS_PARENT_ENVS" value="true" /> 
     1862      <module name="test" /> 
     1863      <envs /> 
     1864      <RunnerSettings RunnerId="Profile "> 
     1865        <option name="myExternalizedOptions" value="&#10;snapshots-dir=&#10;additional-options2=onexit\=snapshot&#10;" /> 
     1866      </RunnerSettings> 
     1867      <RunnerSettings RunnerId="Run" /> 
     1868      <ConfigurationWrapper RunnerId="Run" /> 
     1869      <method /> 
     1870    </configuration> 
     1871    <configuration default="false" name="unstressed.TaskBenchmark[ABQ]" type="Application" factoryName="Application"> 
     1872      <option name="MAIN_CLASS_NAME" value="test.threads.queue.stressed.TaskBenchmark" /> 
     1873      <option name="VM_PARAMETERS" value="-ea -server -Xmx128m -XX:+PrintCommandLineFlags " /> 
     1874      <option name="PROGRAM_PARAMETERS" value="--task=test.threads.queue.unstressed.QueueTask --payload=none --opsPerPacket=128 -Dtask.queue-factory=test.threads.queue.unstressed.impl.ABQWrapperQueue" /> 
     1875      <option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" /> 
     1876      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" /> 
     1877      <option name="ALTERNATIVE_JRE_PATH" value="$PROJECT_DIR$/../../../../1.7.0.jdk/Contents/Home" /> 
     1878      <option name="ENABLE_SWING_INSPECTOR" value="false" /> 
     1879      <option name="ENV_VARIABLES" /> 
     1880      <option name="PASS_PARENT_ENVS" value="true" /> 
     1881      <module name="test" /> 
     1882      <envs /> 
     1883      <RunnerSettings RunnerId="Profile "> 
     1884        <option name="myExternalizedOptions" value="&#10;snapshots-dir=&#10;additional-options2=onexit\=snapshot&#10;" /> 
     1885      </RunnerSettings> 
     1886      <RunnerSettings RunnerId="Run" /> 
     1887      <ConfigurationWrapper RunnerId="Run" /> 
     1888      <method /> 
     1889    </configuration> 
     1890    <configuration default="false" name="unstressed.TaskBenchmark[SESD]" type="Application" factoryName="Application"> 
     1891      <option name="MAIN_CLASS_NAME" value="test.threads.queue.stressed.TaskBenchmark" /> 
     1892      <option name="VM_PARAMETERS" value="-ea -server -Xmx128m -XX:+PrintCommandLineFlags " /> 
     1893      <option name="PROGRAM_PARAMETERS" value="-task=test.threads.queue.unstressed.QueueTask --payload=none --opsPerPacket=128 -Dtask.queue-factory=test.threads.queue.unstressed.impl.SESDQueue" /> 
     1894      <option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" /> 
     1895      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" /> 
     1896      <option name="ALTERNATIVE_JRE_PATH" value="$PROJECT_DIR$/../../../../1.7.0.jdk/Contents/Home" /> 
     1897      <option name="ENABLE_SWING_INSPECTOR" value="false" /> 
     1898      <option name="ENV_VARIABLES" /> 
     1899      <option name="PASS_PARENT_ENVS" value="true" /> 
     1900      <module name="test" /> 
     1901      <envs /> 
     1902      <RunnerSettings RunnerId="Profile "> 
     1903        <option name="myExternalizedOptions" value="&#10;snapshots-dir=&#10;additional-options2=onexit\=snapshot&#10;" /> 
     1904      </RunnerSettings> 
     1905      <RunnerSettings RunnerId="Run" /> 
    17101906      <ConfigurationWrapper RunnerId="Run" /> 
    17111907      <method /> 
     
    17331929      <method /> 
    17341930    </configuration> 
    1735     <list size="21"> 
    1736       <item index="0" class="java.lang.String" itemvalue="JUnit.CABSESDQueueTest" /> 
    1737       <item index="1" class="java.lang.String" itemvalue="JUnit.test.threads.queue in test" /> 
    1738       <item index="2" class="java.lang.String" itemvalue="JUnit.test.threads.queue.impl in test" /> 
    1739       <item index="3" class="java.lang.String" itemvalue="Application.Increment2" /> 
    1740       <item index="4" class="java.lang.String" itemvalue="Application.QueueBenchmark[ABQ]" /> 
    1741       <item index="5" class="java.lang.String" itemvalue="Application.QueueBenchmark[SESDMaskedOptimized]" /> 
    1742       <item index="6" class="java.lang.String" itemvalue="Application.QueueBenchmark[CABSESD]" /> 
    1743       <item index="7" class="java.lang.String" itemvalue="Application.QueueBenchmark[DisruptorNoBatch]" /> 
    1744       <item index="8" class="java.lang.String" itemvalue="Application.QueueBenchmark[DisruptorWithBatch]" /> 
    1745       <item index="9" class="java.lang.String" itemvalue="Application.QueueBenchmark[Sequencer]" /> 
    1746       <item index="10" class="java.lang.String" itemvalue="Application.QueueBenchmark[LongCABSESDSequencer] -XX:CompileCommand=print,*.moveTail -XX:+PrintInlining" /> 
    1747       <item index="11" class="java.lang.String" itemvalue="Application.LogParser" /> 
    1748       <item index="12" class="java.lang.String" itemvalue="Application.UnsafeArraysSorter[jdk]" /> 
    1749       <item index="13" class="java.lang.String" itemvalue="Application.UnsafeArraysSorter[unsafe] " /> 
    1750       <item index="14" class="java.lang.String" itemvalue="Application.TestPrintAssembly" /> 
    1751       <item index="15" class="java.lang.String" itemvalue="Application.SimpleLongArrayOpsBenchmark[safe]" /> 
    1752       <item index="16" class="java.lang.String" itemvalue="Application.SimpleLongArrayOpsBenchmark[unsafe]" /> 
    1753       <item index="17" class="java.lang.String" itemvalue="Application.TaskBenchmark[SingleThread]" /> 
    1754       <item index="18" class="java.lang.String" itemvalue="Application.TaskBenchmark[ABQxNTask]" /> 
    1755       <item index="19" class="java.lang.String" itemvalue="Application.TaskBenchmark[DxNTask]" /> 
    1756       <item index="20" class="java.lang.String" itemvalue="JUnit.MultithreadedBitSetPerformanceTest.testScalePerformance" /> 
     1931    <list size="26"> 
     1932      <item index="0" class="java.lang.String" itemvalue="Application.Increment2" /> 
     1933      <item index="1" class="java.lang.String" itemvalue="Application.QueueBenchmark[ABQ]" /> 
     1934      <item index="2" class="java.lang.String" itemvalue="Application.QueueBenchmark[ABQBusyWait]" /> 
     1935      <item index="3" class="java.lang.String" itemvalue="Application.QueueBenchmark[SESDMaskedOptimized]" /> 
     1936      <item index="4" class="java.lang.String" itemvalue="Application.QueueBenchmark[CABSESD]" /> 
     1937      <item index="5" class="java.lang.String" itemvalue="Application.QueueBenchmark[DisruptorNoBatch]" /> 
     1938      <item index="6" class="java.lang.String" itemvalue="Application.QueueBenchmark[DisruptorWithBatch]" /> 
     1939      <item index="7" class="java.lang.String" itemvalue="Application.QueueBenchmark[Sequencer]" /> 
     1940      <item index="8" class="java.lang.String" itemvalue="Application.QueueBenchmark[LongCABSESDSequencer] -XX:CompileCommand=print,*.moveTail -XX:+PrintInlining" /> 
     1941      <item index="9" class="java.lang.String" itemvalue="Application.LogParser" /> 
     1942      <item index="10" class="java.lang.String" itemvalue="Application.UnsafeArraysSorter[jdk]" /> 
     1943      <item index="11" class="java.lang.String" itemvalue="Application.UnsafeArraysSorter[unsafe] " /> 
     1944      <item index="12" class="java.lang.String" itemvalue="Application.TestPrintAssembly" /> 
     1945      <item index="13" class="java.lang.String" itemvalue="Application.SimpleLongArrayOpsBenchmark[safe]" /> 
     1946      <item index="14" class="java.lang.String" itemvalue="Application.SimpleLongArrayOpsBenchmark[unsafe]" /> 
     1947      <item index="15" class="java.lang.String" itemvalue="Application.TaskBenchmark[SingleThread]" /> 
     1948      <item index="16" class="java.lang.String" itemvalue="Application.TaskBenchmark[ABQxNTask]" /> 
     1949      <item index="17" class="java.lang.String" itemvalue="Application.TaskBenchmark[DxNTask]" /> 
     1950      <item index="18" class="java.lang.String" itemvalue="Application.unstressed.TaskBenchmark[Disruptor]" /> 
     1951      <item index="19" class="java.lang.String" itemvalue="Application.unstressed.TaskBenchmark[ABQBusyWait]" /> 
     1952      <item index="20" class="java.lang.String" itemvalue="Application.unstressed.TaskBenchmark[ABQ]" /> 
     1953      <item index="21" class="java.lang.String" itemvalue="Application.unstressed.TaskBenchmark[SESD]" /> 
     1954      <item index="22" class="java.lang.String" itemvalue="JUnit.CABSESDQueueTest" /> 
     1955      <item index="23" class="java.lang.String" itemvalue="JUnit.test.threads.queue in test" /> 
     1956      <item index="24" class="java.lang.String" itemvalue="JUnit.test.threads.queue.unstressed.impl in test" /> 
     1957      <item index="25" class="java.lang.String" itemvalue="JUnit.MultithreadedBitSetPerformanceTest.testScalePerformance" /> 
    17571958    </list> 
    17581959    <configuration name="&lt;template&gt;" type="WebApp" default="true" selected="false"> 
     
    18392040      <window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32986766" sideWeight="0.5" order="15" side_tool="false" content_ui="tabs" /> 
    18402041      <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> 
     2042      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.31713554" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> 
    18412043      <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> 
    1842       <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.41813135" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> 
     2044      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4168798" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> 
    18432045      <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32736573" sideWeight="0.0" order="12" side_tool="false" content_ui="tabs" /> 
    18442046      <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32352942" sideWeight="0.0" order="13" side_tool="false" content_ui="tabs" /> 
     
    18472049      <window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3298969" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> 
    18482050      <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3994253" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> 
    1849       <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.18678162" sideWeight="0.6764706" order="0" side_tool="false" content_ui="tabs" /> 
     2051      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.18678162" sideWeight="0.47058824" order="0" side_tool="false" content_ui="tabs" /> 
    18502052      <window_info id="Dependency Viewer" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="14" side_tool="false" content_ui="tabs" /> 
    1851       <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.5304991" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> 
     2053      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.5294118" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> 
    18522054      <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32993513" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" /> 
    18532055      <window_info id="Dataflow to this" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="11" side_tool="false" content_ui="tabs" /> 
     
    18582060      <window_info id="SVN Properties" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.32948717" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> 
    18592061      <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> 
    1860       <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.31822386" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> 
    18612062      <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" /> 
    18622063      <window_info id="TeamCity" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> 
     
    19412142  </component> 
    19422143  <component name="editorHistoryManager"> 
    1943     <entry file="jar://$MAVEN_REPOSITORY$/com/googlecode/disruptor/disruptor/2.8/disruptor-2.8-sources.jar!/com/lmax/disruptor/util/PaddedAtomicLong.java"> 
     2144    <entry file="file://$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/impl/ABQBusyWaitQueue.java"> 
    19442145      <provider selected="true" editor-type-id="text-editor"> 
    1945         <state line="24" column="4" selection-start="809" selection-end="858" vertical-scroll-proportion="0.0" /> 
     2146        <state line="13" column="29" selection-start="312" selection-end="328" vertical-scroll-proportion="0.0"> 
     2147          <folding> 
     2148            <element signature="method#ABQBusyWaitQueue#0;class#ABQBusyWaitQueue#0" expanded="false" /> 
     2149            <element signature="method#inc#0;class#ABQBusyWaitQueue#0" expanded="false" /> 
     2150            <element signature="method#enqueue#0;class#ABQBusyWaitQueue#0" expanded="false" /> 
     2151            <element signature="method#dequeue#0;class#ABQBusyWaitQueue#0" expanded="false" /> 
     2152            <element signature="method#disownQueue#0;class#ABQBusyWaitQueue#0" expanded="false" /> 
     2153            <element signature="method#ownQueue#0;class#ABQBusyWaitQueue#0" expanded="false" /> 
     2154            <element signature="method#size#0;class#ABQBusyWaitQueue#0" expanded="false" /> 
     2155            <element signature="method#factory#0;class#ABQBusyWaitQueue#0" expanded="false" /> 
     2156            <element signature="class#2538:2859" expanded="false" /> 
     2157            <element signature="method#create#0;class#2538:2859" expanded="false" /> 
     2158            <element signature="method#toString#0;class#2538:2859" expanded="false" /> 
     2159          </folding> 
     2160        </state> 
    19462161      </provider> 
    19472162    </entry> 
    1948     <entry file="file://$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/ITask.java"> 
     2163    <entry file="file://$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/QueueTask.java"> 
    19492164      <provider selected="true" editor-type-id="text-editor"> 
    1950         <state line="25" column="25" selection-start="684" selection-end="684" vertical-scroll-proportion="0.0" /> 
    1951       </provider> 
    1952     </entry> 
    1953     <entry file="file://$PROJECT_DIR$/config.properties"> 
    1954       <provider selected="true" editor-type-id="text-editor"> 
    1955         <state line="11" column="10" selection-start="253" selection-end="253" vertical-scroll-proportion="0.0" /> 
    1956       </provider> 
    1957     </entry> 
    1958     <entry file="file://$PROJECT_DIR$/src/main/resources/log4j.properties"> 
    1959       <provider selected="true" editor-type-id="text-editor"> 
    1960         <state line="14" column="56" selection-start="607" selection-end="607" vertical-scroll-proportion="0.33269963" /> 
    1961       </provider> 
    1962     </entry> 
    1963     <entry file="file://$PROJECT_DIR$/config.properties.template"> 
    1964       <provider selected="true" editor-type-id="text-editor"> 
    1965         <state line="11" column="15" selection-start="252" selection-end="252" vertical-scroll-proportion="0.26140684" /> 
    1966       </provider> 
    1967     </entry> 
    1968     <entry file="jar://$MAVEN_REPOSITORY$/com/googlecode/disruptor/disruptor/2.8/disruptor-2.8-sources.jar!/com/lmax/disruptor/YieldingWaitStrategy.java"> 
    1969       <provider selected="true" editor-type-id="text-editor"> 
    1970         <state line="27" column="19" selection-start="1020" selection-end="1020" vertical-scroll-proportion="0.0" /> 
    1971       </provider> 
    1972     </entry> 
    1973     <entry file="file://$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/memory/MemoryWasterFactory.java"> 
    1974       <provider selected="true" editor-type-id="text-editor"> 
    1975         <state line="44" column="33" selection-start="1243" selection-end="1243" vertical-scroll-proportion="1.2162162" /> 
    1976       </provider> 
    1977     </entry> 
    1978     <entry file="jar://$MAVEN_REPOSITORY$/com/googlecode/disruptor/disruptor/2.8/disruptor-2.8-sources.jar!/com/lmax/disruptor/WaitStrategy.java"> 
    1979       <provider selected="true" editor-type-id="text-editor"> 
    1980         <state line="16" column="18" selection-start="617" selection-end="617" vertical-scroll-proportion="0.0" /> 
    1981       </provider> 
    1982     </entry> 
    1983     <entry file="file://$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/memory/LongArrayMessage.java"> 
    1984       <provider selected="true" editor-type-id="text-editor"> 
    1985         <state line="16" column="11" selection-start="353" selection-end="353" vertical-scroll-proportion="0.0" /> 
    1986       </provider> 
    1987     </entry> 
    1988     <entry file="file://$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/DxNTask.java"> 
    1989       <provider selected="true" editor-type-id="text-editor"> 
    1990         <state line="74" column="25" selection-start="2568" selection-end="2568" vertical-scroll-proportion="0.0"> 
    1991           <folding /> 
     2165        <state line="31" column="27" selection-start="1121" selection-end="1121" vertical-scroll-proportion="0.0"> 
     2166          <folding> 
     2167            <element signature="docComment;class#QueueTask#0" expanded="true" /> 
     2168          </folding> 
    19922169        </state> 
    19932170      </provider> 
     
    19952172    <entry file="file://$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/memory/CPUMemoryWasterFactory.java"> 
    19962173      <provider selected="true" editor-type-id="text-editor"> 
    1997         <state line="44" column="23" selection-start="1290" selection-end="1290" vertical-scroll-proportion="0.0" /> 
     2174        <state line="29" column="8" selection-start="826" selection-end="938" vertical-scroll-proportion="0.0"> 
     2175          <folding /> 
     2176        </state> 
    19982177      </provider> 
    19992178    </entry> 
    2000     <entry file="file://$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/ABQxNTask.java"> 
     2179    <entry file="file://$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/memory/MemoryWasterFactory.java"> 
    20012180      <provider selected="true" editor-type-id="text-editor"> 
    2002         <state line="62" column="0" selection-start="1755" selection-end="1755" vertical-scroll-proportion="0.0" /> 
     2181        <state line="29" column="120" selection-start="932" selection-end="932" vertical-scroll-proportion="0.0"> 
     2182          <folding /> 
     2183        </state> 
     2184      </provider> 
     2185    </entry> 
     2186    <entry file="file://$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/cpu/CPUWasterFactory.java"> 
     2187      <provider selected="true" editor-type-id="text-editor"> 
     2188        <state line="30" column="0" selection-start="826" selection-end="826" vertical-scroll-proportion="0.0"> 
     2189          <folding /> 
     2190        </state> 
     2191      </provider> 
     2192    </entry> 
     2193    <entry file="file://$PROJECT_DIR$/src/main/java/test/threads/queue/common/FSM.java"> 
     2194      <provider selected="true" editor-type-id="text-editor"> 
     2195        <state line="32" column="13" selection-start="793" selection-end="793" vertical-scroll-proportion="0.0"> 
     2196          <folding> 
     2197            <element signature="method#CAS#0;class#FSM#0" expanded="false" /> 
     2198            <element signature="method#changeState#0;class#FSM#0" expanded="false" /> 
     2199            <element signature="method#autoTransition#0;class#FSM#0" expanded="false" /> 
     2200            <element signature="method#is#0;class#FSM#0" expanded="false" /> 
     2201            <element signature="method#state#0;class#FSM#0" expanded="false" /> 
     2202            <element signature="method#stateOrdinal#0;class#FSM#0" expanded="false" /> 
     2203            <element signature="method#waitForState#0;class#FSM#0" expanded="false" /> 
     2204            <element signature="method#initialize#0;class#FSM#0" expanded="false" /> 
     2205            <element signature="method#start#0;class#FSM#0" expanded="false" /> 
     2206            <element signature="method#pause#0;class#FSM#0" expanded="false" /> 
     2207            <element signature="method#terminate#0;class#FSM#0" expanded="false" /> 
     2208          </folding> 
     2209        </state> 
     2210      </provider> 
     2211    </entry> 
     2212    <entry file="jar://$MAVEN_REPOSITORY$/com/googlecode/disruptor/disruptor/2.8/disruptor-2.8-sources.jar!/com/lmax/disruptor/BusySpinWaitStrategy.java"> 
     2213      <provider selected="true" editor-type-id="text-editor"> 
     2214        <state line="39" column="0" selection-start="1437" selection-end="1437" vertical-scroll-proportion="0.0"> 
     2215          <folding /> 
     2216        </state> 
     2217      </provider> 
     2218    </entry> 
     2219    <entry file="file://$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/DisruptorTask.java"> 
     2220      <provider selected="true" editor-type-id="text-editor"> 
     2221        <state line="69" column="0" selection-start="2242" selection-end="2242" vertical-scroll-proportion="0.0"> 
     2222          <folding> 
     2223            <element signature="imports" expanded="true" /> 
     2224            <element signature="method#workersRequired#0;class#DisruptorTask#0" expanded="false" /> 
     2225            <element signature="method#terminate#0;class#DisruptorTask#0" expanded="false" /> 
     2226            <element signature="method#toString#0;class#DisruptorTask#0" expanded="false" /> 
     2227            <element signature="class#PassThroughHandler#0;class#DisruptorTask#0" expanded="false" /> 
     2228            <element signature="method#PassThroughHandler#0;class#PassThroughHandler#0;class#DisruptorTask#0" expanded="false" /> 
     2229            <element signature="method#onEvent#0;class#PassThroughHandler#0;class#DisruptorTask#0" expanded="false" /> 
     2230            <element signature="class#Enqueuer#0;class#DisruptorTask#0" expanded="false" /> 
     2231            <element signature="method#Enqueuer#0;class#Enqueuer#0;class#DisruptorTask#0" expanded="false" /> 
     2232            <element signature="method#enqueueEventsBatch#0;class#Enqueuer#0;class#DisruptorTask#0" expanded="false" /> 
     2233          </folding> 
     2234        </state> 
     2235      </provider> 
     2236    </entry> 
     2237    <entry file="file://$PROJECT_DIR$/src/main/java/test/threads/queue/common/BaseEnqueuer.java"> 
     2238      <provider selected="true" editor-type-id="text-editor"> 
     2239        <state line="64" column="0" selection-start="1913" selection-end="1913" vertical-scroll-proportion="0.18648648"> 
     2240          <folding> 
     2241            <element signature="imports" expanded="true" /> 
     2242            <element signature="docComment;class#BaseEnqueuer#0" expanded="true" /> 
     2243          </folding> 
     2244        </state> 
     2245      </provider> 
     2246    </entry> 
     2247    <entry file="jar:///Library/Java/JavaVirtualMachines/1.6.0_26-b03-377.jdk/Contents/Home/src.jar!/src/java/lang/Thread.java"> 
     2248      <provider selected="true" editor-type-id="text-editor"> 
     2249        <state line="1905" column="24" selection-start="72624" selection-end="72624" vertical-scroll-proportion="0.6621622"> 
     2250          <folding /> 
     2251        </state> 
     2252      </provider> 
     2253    </entry> 
     2254    <entry file="file://$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/AbstractTask.java"> 
     2255      <provider selected="true" editor-type-id="text-editor"> 
     2256        <state line="143" column="27" selection-start="5258" selection-end="5258" vertical-scroll-proportion="0.0"> 
     2257          <folding> 
     2258            <element signature="method#AbstractTask#0;class#AbstractTask#0" expanded="false" /> 
     2259            <element signature="method#AbstractTask#1;class#AbstractTask#0" expanded="false" /> 
     2260            <element signature="method#AbstractTask#2;class#AbstractTask#0" expanded="false" /> 
     2261            <element signature="method#AbstractTask#3;class#AbstractTask#0" expanded="false" /> 
     2262            <element signature="method#bufferSize#0;class#AbstractTask#0" expanded="false" /> 
     2263            <element signature="method#eventsInBatch#0;class#AbstractTask#0" expanded="false" /> 
     2264            <element signature="method#eventFactory#0;class#AbstractTask#0" expanded="false" /> 
     2265            <element signature="method#execute#0;class#AbstractTask#0" expanded="false" /> 
     2266            <element signature="method#terminate#0;class#AbstractTask#0" expanded="false" /> 
     2267            <element signature="method#dequeueWhileTimeIsNotEllapsed#0;class#AbstractTask#0" expanded="false" /> 
     2268            <element signature="method#toString#0;class#AbstractTask#0" expanded="false" /> 
     2269            <element signature="class#EventEnqueuer#0;class#AbstractTask#0" expanded="false" /> 
     2270            <element signature="method#EventEnqueuer#0;class#EventEnqueuer#0;class#AbstractTask#0" expanded="false" /> 
     2271            <element signature="method#enqueueEventsBatch#0;class#EventEnqueuer#0;class#AbstractTask#0" expanded="false" /> 
     2272          </folding> 
     2273        </state> 
     2274      </provider> 
     2275    </entry> 
     2276    <entry file="file://$PROJECT_DIR$/config.properties"> 
     2277      <provider selected="true" editor-type-id="text-editor"> 
     2278        <state line="9" column="34" selection-start="250" selection-end="250" vertical-scroll-proportion="0.0"> 
     2279          <folding /> 
     2280        </state> 
     2281      </provider> 
     2282    </entry> 
     2283    <entry file="file://$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/IUsefulWorkFactory.java"> 
     2284      <provider selected="true" editor-type-id="text-editor"> 
     2285        <state line="10" column="17" selection-start="201" selection-end="201" vertical-scroll-proportion="0.16600266"> 
     2286          <folding /> 
     2287        </state> 
     2288      </provider> 
     2289    </entry> 
     2290    <entry file="file://$PROJECT_DIR$/src/main/java/test/threads/queue/unstressed/DummyWasterFactory.java"> 
     2291      <provider selected="true" editor-type-id="text-editor"> 
     2292        <state line="51" column="57" selection-start="1642" selection-end="1642" vertical-scroll-proportion="0.0"> 
     2293          <folding> 
     2294            <element signature="docComment;class#NoTimeWaster#0;class#DummyWasterFactory#0" expanded="true" /> 
     2295          </folding> 
     2296        </state> 
     2297      </provider> 
     2298    </entry> 
     2299    <entry file="file://$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/ITask.java"> 
     2300      <provider selected="true" editor-type-id="text-editor"> 
     2301        <state line="65" column="67" selection-start="2243" selection-end="2243" vertical-scroll-proportion="0.0"> 
     2302          <folding /> 
     2303        </state> 
    20032304      </provider> 
    20042305    </entry> 
    20052306    <entry file="file://$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/TaskBenchmark.java"> 
    20062307      <provider selected="true" editor-type-id="text-editor"> 
    2007         <state line="126" column="41" selection-start="5085" selection-end="5085" vertical-scroll-proportion="0.0" /> 
    2008       </provider> 
    2009     </entry> 
    2010     <entry file="file://$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/AbstractTask.java"> 
    2011       <provider selected="true" editor-type-id="text-editor"> 
    2012         <state line="237" column="0" selection-start="8557" selection-end="8557" vertical-scroll-proportion="0.0" /> 
    2013       </provider> 
    2014     </entry> 
    2015     <entry file="file://$PROJECT_DIR$/src/main/java/test/threads/queue/stressed/SingleThreadedTask.java"> 
    2016       <provider selected="true" editor-type-id="text-editor"> 
    2017         <state line="77" column="41" selection-start="2741" selection-end="2741" vertical-scroll-proportion="0.0" /> 
    2018       </provider> 
    2019     </entry> 
    2020     <entry file="file://$PROJECT_DIR$/task_benchmark.sh"> 
    2021       <provider selected="true" editor-type-id="text-editor"> 
    2022         <state line="17" column="18" selection-start="355" selection-end="355" vertical-scroll-proportion="0.5743243"> 
    2023           <folding /> 
     2308        <state line="140" column="34" selection-start="5847" selection-end="5847" vertical-scroll-proportion="-0.4445946"> 
     2309          <folding> 
     2310            <element signature="imports" expanded="true" /> 
     2311            <element signature="docComment;class#TaskBenchmark#0" expanded="true" /> 
     2312            <element signature="docComment;method#main#0;class#TaskBenchmark#0" expanded="true" /> 
     2313          </folding> 
    20242314        </state> 
    20252315      </provider> 
  • Tests/JAVA/test/unstressed_task_benchmark.sh

    r481 r482  
    88 
    99 
    10 STRESS_TYPE="$1" 
    11  
    1210TYPE="$2" 
    1311mvn compile 
     
    1513rm result.data 
    1614 
    17 #for OPS in 1000000 100000 10000 1024 128 16 4 
    18 for OPS in 4096 2048 1024 512 256 128 
     15for OPS in 1000000 100000 10000 1024 128 16 4 
    1916do 
    2017    mvn exec:java -Dexec.mainClass="test.threads.queue.stressed.TaskBenchmark" \ 
    21         -Dexec.args="test.threads.queue.stressed.$TYPE $STRESS_TYPE $OPS" -e 
     18        -Dexec.args="--task=test.threads.queue.unstressed.$TYPE --payload=cpu --opsPerPacket=1" -e 
    2219done 
Note: See TracChangeset for help on using the changeset viewer.