comparison test/org/dancres/blitz/WriteSpeedTest.java @ 0:3dc0c5604566

Initial checkin of blitz 2.0 fcs - no installer yet.
author Dan Creswell <dan.creswell@gmail.com>
date Sat, 21 Mar 2009 11:00:06 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:3dc0c5604566
1 package org.dancres.blitz;
2
3 import net.jini.core.entry.Entry;
4 import net.jini.core.lease.Lease;
5
6 import org.dancres.blitz.mangler.*;
7
8 public class WriteSpeedTest {
9 public static void main(String args[]) {
10
11 try {
12 System.out.println("Start space");
13
14 SpaceImpl mySpace = new SpaceImpl(null);
15
16 System.out.println("Prepare entry");
17
18 EntryMangler myMangler = new EntryMangler();
19 TestEntry myEntry = new TestEntry();
20 myEntry.init();
21
22 System.out.println("init'd entry");
23 MangledEntry myPackedEntry = myMangler.mangle(myEntry);
24
25 System.out.println("Do writes");
26
27 long myStart = System.currentTimeMillis();
28
29 for (int i = 0; i < Integer.parseInt(args[0]); i++) {
30 mySpace.write(myPackedEntry, null, Lease.FOREVER);
31 }
32
33 long myEnd = System.currentTimeMillis();
34
35 double myEntriesWritten = Integer.parseInt(args[0]);
36 double myStartTime = (double) myStart;
37 double myEndTime = (double) myEnd;
38
39 double myTime = (myEndTime - myStartTime) / myEntriesWritten;
40
41 System.out.println("Time per write: " + myTime);
42
43 System.out.println("Do takes");
44
45 myStart = System.currentTimeMillis();
46
47 for (int i = 0; i < Integer.parseInt(args[0]); i++) {
48 if (mySpace.take(myPackedEntry, null, 10000) == null)
49 System.out.println("Missed: " + i);
50 }
51
52 myEnd = System.currentTimeMillis();
53
54 double myEntriesTaken = Integer.parseInt(args[0]);
55 myStartTime = (double) myStart;
56 myEndTime = (double) myEnd;
57
58 myTime = (myEndTime - myStartTime) / myEntriesTaken;
59
60 System.out.println("Time per take: " + myTime);
61
62 System.out.println("Do stop");
63
64 mySpace.stop();
65
66 } catch (Exception anE) {
67 System.err.println("Got exception :(");
68 anE.printStackTrace(System.err);
69 }
70
71 }
72
73 public static class TestEntry implements Entry {
74 public String rhubarb;
75 public Integer count;
76
77 public TestEntry() {
78 }
79
80 public void init() {
81 rhubarb = "blah";
82 count = new Integer(5);
83 }
84
85 public String toString() {
86 return super.toString() + ", " + rhubarb + ", " + count;
87 }
88 }
89 }