私はいくつかのデータ構造をテストするために、そのメソッドの追加を試みています。一つのために:どんなに私はFileHandlerの()メソッドでtestSizeや出力ファイル名を変更する方法ロガーはすべてのイベントをロギングしませんか?
import java.io.IOException;
import java.util.Deque;
import java.util.logging.ConsoleHandler;
import java.util.logging.FileHandler;
import java.util.logging.Handler;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.logging.SimpleFormatter;
import edu.sdsu.cs.datastructures.LinkedList;
import edu.sdsu.cs.datastructures.SlowDeque;
public class DequeDriver<E> {
final Logger myLogger = Logger.getLogger("***.****.**.DequeDriver");
static FileHandler logFile;
static SimpleFormatter formatterTxt;
private Deque<E> dut;
// Construct the Deque and test it //
private DequeDriver() throws SecurityException, IOException {
initLogger();
myLogger.info("Running SlowDeque: ");
dut = new SlowDeque<E>();
runTest(dut);
myLogger.info("Running with LinkedList: ");
dut = new LinkedList<E>();
runTest(dut);
}
// Run tests on the Deque //
@SuppressWarnings("unchecked")
private void runTest(Deque<E> dequeUnderTest){
int testSize = 1000;
long startTime;
long endTime;
for(int i = 1; i <= 10; i++){
startTime = System.nanoTime();;
for(long a = 0; a < testSize * i; a++){
dequeUnderTest.add((E) new Long(a));
}
endTime = System.nanoTime();
myLogger.info("Adding " + (i * testSize) + " items took: " + (endTime - startTime) + " milliseconds.");
}
}
public static void main(String[] args) {
try{
new DequeDriver<Long>();
} catch (SecurityException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
void initLogger() throws SecurityException, IOException {
disableConsoleLogger();
logFile = new FileHandler("DequeDriver.xml");
myLogger.setLevel(Level.INFO);
myLogger.addHandler(logFile);
}
void disableConsoleLogger() {
Logger rootLogger = Logger.getLogger("");
Handler[] handlers = rootLogger.getHandlers();
if (handlers[0] instanceof ConsoleHandler) {
rootLogger.removeHandler(handlers[0]);
}
}
}
、私はまだ唯一の方法)(runtestsと書いから「実行と...」出力と2つの出力を得ます1000、1つは10000です。
私はこれに慣れていませんか?私のIDEはEclipseです。
あなたが本当にJMHを使用して代わりに – tddmonkey