comparison test/org/dancres/blitz/SpaceFifonessTest.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 import org.dancres.blitz.disk.Disk;
9 import org.dancres.blitz.disk.DiskTxn;
10
11 public class SpaceFifonessTest {
12 public static void main(String args[]) {
13
14 try {
15 System.out.println("Start space");
16
17 SpaceImpl mySpace = new SpaceImpl(null);
18
19 System.out.println("Prepare entry");
20
21 EntryMangler myMangler = new EntryMangler();
22
23 System.out.println("init'd entry");
24 MangledEntry myPackedEntry;
25
26 for (int i = 0; i < 500; i++) {
27 myPackedEntry = myMangler.mangle(new TestEntry(i));
28
29 mySpace.write(myPackedEntry, null, Lease.FOREVER);
30
31 /*
32 System.out.println("Do write: " +
33 mySpace.write(myPackedEntry, null,
34 Lease.FOREVER));
35 */
36 }
37
38 // Write some more Entry's whilst we do takes
39 //
40 new Writer(mySpace, myMangler).start();
41
42 myPackedEntry = myMangler.mangle(new TestEntry());
43
44 long myStart = System.currentTimeMillis();
45
46 for (int i = 0; i < 1000; i++) {
47 MangledEntry myEntry = mySpace.take(myPackedEntry, null,
48 Lease.FOREVER);
49
50 System.out.println(myMangler.unMangle(myEntry));
51 }
52
53 long myEnd = System.currentTimeMillis();
54
55 System.out.println("1000 takes in: " + (myEnd - myStart));
56
57 double myStartTime = (double) myStart;
58 double myEndTime = (double) myEnd;
59
60 double myTime = (myEndTime - myStartTime) / 1000;
61
62 System.out.println("Time per take: " + myTime);
63
64 System.out.println("Do stop");
65
66 mySpace.stop();
67
68 } catch (Exception anE) {
69 System.err.println("Got exception :(");
70 anE.printStackTrace(System.err);
71 }
72
73 }
74
75 static class Writer extends Thread {
76 private SpaceImpl theSpace;
77 private EntryMangler theMangler;
78
79 Writer(SpaceImpl aSpace, EntryMangler aMangler) {
80 theSpace = aSpace;
81 theMangler = aMangler;
82 }
83
84 public void run() {
85 try {
86 for (int i = 501; i < 1001; i++) {
87 MangledEntry myPackedEntry =
88 theMangler.mangle(new TestEntry(i));
89
90 theSpace.write(myPackedEntry, null,
91 Lease.FOREVER);
92 /*
93 System.out.println("Do write: " +
94 theSpace.write(myPackedEntry, null,
95 Lease.FOREVER));
96 */
97 }
98 } catch (Exception anE) {
99 System.err.println("Writer blew");
100 anE.printStackTrace(System.err);
101 }
102 }
103 }
104
105 public static class TestEntry implements Entry {
106 public Integer count;
107 public Integer meta;
108
109 public TestEntry() {
110 }
111
112 public TestEntry(int aCount) {
113 count = new Integer(aCount);
114 }
115
116 public String toString() {
117 return super.toString() + ", " + count;
118 }
119 }
120 }