Mercurial > hg > blitz_condensed
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 } |