Cytoscape 2.8.0 API

Class MinIntHeapPerformance

  extended by cytoscape.util.intr.test.MinIntHeapPerformance

public class MinIntHeapPerformance
extends Object

Constructor Summary
Method Summary
static void main(String[] args)
          Argument at index 0: a number representing the number of elements to be tossed onto a heap.
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail


public MinIntHeapPerformance()
Method Detail


public static void main(String[] args)
                 throws Exception
Argument at index 0: a number representing the number of elements to be tossed onto a heap. If N elements are tossed onto a heap, each element shall be in the range [0, N-1].

Standard input is read, and should contain bytes [read: binary data] of input defining integer elements to be tossed onto the heap, with enough bytes to define N integers (each integer is 4 bytes of standard input). Integers are defined from the input by taking groups of 4 consecutive bytes from input, each group defining a single integer by interpreting the first byte in a group to be the most significant bits of the integer etc. The range [0, N-1] of each integer is satisifed by dividing the positized value of each assembled four-byte integer by N, and taking the remainder as the element to be tossed onto the heap.

Writes to standard out the ordered set of input integers with duplicates pruned, such that each output integer is followed by the system's newline separator character sequence. The integers written are in plaintext, unlike the format of the input.

Output to standard error is the time taken to use the heap to order the input, with duplicates removed. The output format is simply a plaintext integer representing the number of milliseconds required for this test case, followed by the system's newline separator character sequence. Basically, a timer starts right before calling the MinIntHeap constructor with an array of input integers; the timer stops after we've instantiated a new array to contain the ordered list of elements with duplicates removed, and after we've completely filled the array with these elements. Note that the process of instantiating this array is time consuming and has nothing to do with the algorithm we're trying to test; this operation is included in this time trial anyways.

An optional second argument to this program is the string 'repeat' - this command-line option will run a first test, and then a repeated test using the same objects that were used in the first test (basically, the purpose of the repeated test is to not instantiate anything) - all output information is based off of the repeated test.


Cytoscape 2.8.0 API

Copyright 2010 Cytoscape Consortium. All rights reserved.