author | xdono |
Wed, 02 Jul 2008 12:55:45 -0700 | |
changeset 715 | f16baef3a20e |
parent 309 | bda219d843f6 |
child 5506 | 202f599c92aa |
permissions | -rw-r--r-- |
309
bda219d843f6
6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents:
2
diff
changeset
|
1 |
/* |
715 | 2 |
* Copyright 1999-2008 Sun Microsystems, Inc. All Rights Reserved. |
2 | 3 |
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 |
* |
|
5 |
* This code is free software; you can redistribute it and/or modify it |
|
6 |
* under the terms of the GNU General Public License version 2 only, as |
|
7 |
* published by the Free Software Foundation. |
|
8 |
* |
|
9 |
* This code is distributed in the hope that it will be useful, but WITHOUT |
|
10 |
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
|
11 |
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
|
12 |
* version 2 for more details (a copy is included in the LICENSE file that |
|
13 |
* accompanied this code). |
|
14 |
* |
|
15 |
* You should have received a copy of the GNU General Public License version |
|
16 |
* 2 along with this work; if not, write to the Free Software Foundation, |
|
17 |
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
|
18 |
* |
|
19 |
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, |
|
20 |
* CA 95054 USA or visit www.sun.com if you need additional information or |
|
21 |
* have any questions. |
|
22 |
*/ |
|
23 |
||
24 |
/* |
|
25 |
* |
|
26 |
*/ |
|
27 |
||
28 |
package bench.serial; |
|
29 |
||
30 |
import bench.Benchmark; |
|
31 |
import java.io.ObjectInputStream; |
|
32 |
import java.io.ObjectOutputStream; |
|
33 |
import java.io.ObjectStreamClass; |
|
34 |
import java.io.Serializable; |
|
35 |
||
36 |
/** |
|
37 |
* Benchmark for testing speed of class descriptor reads/writes. |
|
38 |
*/ |
|
39 |
public class ClassDesc implements Benchmark { |
|
40 |
||
41 |
static class Dummy0 implements Serializable { Dummy0 i0; } |
|
42 |
static class Dummy1 extends Dummy0 { Dummy1 i1; } |
|
43 |
static class Dummy2 extends Dummy1 { Dummy2 i2; } |
|
44 |
static class Dummy3 extends Dummy2 { Dummy3 i3; } |
|
45 |
static class Dummy4 extends Dummy3 { Dummy4 i4; } |
|
46 |
static class Dummy5 extends Dummy4 { Dummy5 i5; } |
|
47 |
static class Dummy6 extends Dummy5 { Dummy6 i6; } |
|
48 |
static class Dummy7 extends Dummy6 { Dummy7 i7; } |
|
49 |
static class Dummy8 extends Dummy7 { Dummy8 i8; } |
|
50 |
static class Dummy9 extends Dummy8 { Dummy9 i9; } |
|
51 |
static class Dummy10 extends Dummy9 { Dummy10 i10; } |
|
52 |
static class Dummy11 extends Dummy10 { Dummy11 i11; } |
|
53 |
static class Dummy12 extends Dummy11 { Dummy12 i12; } |
|
54 |
static class Dummy13 extends Dummy12 { Dummy13 i13; } |
|
55 |
static class Dummy14 extends Dummy13 { Dummy14 i14; } |
|
56 |
static class Dummy15 extends Dummy14 { Dummy15 i15; } |
|
57 |
static class Dummy16 extends Dummy15 { Dummy16 i16; } |
|
58 |
static class Dummy17 extends Dummy16 { Dummy17 i17; } |
|
59 |
static class Dummy18 extends Dummy17 { Dummy18 i18; } |
|
60 |
static class Dummy19 extends Dummy18 { Dummy19 i19; } |
|
61 |
static class Dummy20 extends Dummy19 { Dummy20 i20; } |
|
62 |
static class Dummy21 extends Dummy20 { Dummy21 i21; } |
|
63 |
static class Dummy22 extends Dummy21 { Dummy22 i22; } |
|
64 |
static class Dummy23 extends Dummy22 { Dummy23 i23; } |
|
65 |
static class Dummy24 extends Dummy23 { Dummy24 i24; } |
|
66 |
static class Dummy25 extends Dummy24 { Dummy25 i25; } |
|
67 |
static class Dummy26 extends Dummy25 { Dummy26 i26; } |
|
68 |
static class Dummy27 extends Dummy26 { Dummy27 i27; } |
|
69 |
static class Dummy28 extends Dummy27 { Dummy28 i28; } |
|
70 |
static class Dummy29 extends Dummy28 { Dummy29 i29; } |
|
71 |
static class Dummy30 extends Dummy29 { Dummy30 i30; } |
|
72 |
static class Dummy31 extends Dummy30 { Dummy31 i31; } |
|
73 |
static class Dummy32 extends Dummy31 { Dummy32 i32; } |
|
74 |
static class Dummy33 extends Dummy32 { Dummy33 i33; } |
|
75 |
static class Dummy34 extends Dummy33 { Dummy34 i34; } |
|
76 |
static class Dummy35 extends Dummy34 { Dummy35 i35; } |
|
77 |
static class Dummy36 extends Dummy35 { Dummy36 i36; } |
|
78 |
static class Dummy37 extends Dummy36 { Dummy37 i37; } |
|
79 |
static class Dummy38 extends Dummy37 { Dummy38 i38; } |
|
80 |
static class Dummy39 extends Dummy38 { Dummy39 i39; } |
|
81 |
static class Dummy40 extends Dummy39 { Dummy40 i40; } |
|
82 |
static class Dummy41 extends Dummy40 { Dummy41 i41; } |
|
83 |
static class Dummy42 extends Dummy41 { Dummy42 i42; } |
|
84 |
static class Dummy43 extends Dummy42 { Dummy43 i43; } |
|
85 |
static class Dummy44 extends Dummy43 { Dummy44 i44; } |
|
86 |
static class Dummy45 extends Dummy44 { Dummy45 i45; } |
|
87 |
static class Dummy46 extends Dummy45 { Dummy46 i46; } |
|
88 |
static class Dummy47 extends Dummy46 { Dummy47 i47; } |
|
89 |
static class Dummy48 extends Dummy47 { Dummy48 i48; } |
|
90 |
static class Dummy49 extends Dummy48 { Dummy49 i49; } |
|
91 |
static class Dummy50 extends Dummy49 { Dummy50 i50; } |
|
309
bda219d843f6
6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents:
2
diff
changeset
|
92 |
|
2 | 93 |
/** |
94 |
* Write and read class descriptors to/from a stream. |
|
95 |
* Arguments: <# cycles> |
|
96 |
*/ |
|
97 |
public long run(String[] args) throws Exception { |
|
309
bda219d843f6
6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents:
2
diff
changeset
|
98 |
int ncycles = Integer.parseInt(args[0]); |
bda219d843f6
6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents:
2
diff
changeset
|
99 |
StreamBuffer sbuf = new StreamBuffer(); |
bda219d843f6
6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents:
2
diff
changeset
|
100 |
ObjectOutputStream oout = |
bda219d843f6
6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents:
2
diff
changeset
|
101 |
new ObjectOutputStream(sbuf.getOutputStream()); |
bda219d843f6
6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents:
2
diff
changeset
|
102 |
ObjectInputStream oin = |
bda219d843f6
6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents:
2
diff
changeset
|
103 |
new ObjectInputStream(sbuf.getInputStream()); |
bda219d843f6
6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents:
2
diff
changeset
|
104 |
ObjectStreamClass desc = ObjectStreamClass.lookup(Dummy50.class); |
2 | 105 |
|
309
bda219d843f6
6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents:
2
diff
changeset
|
106 |
doReps(oout, oin, sbuf, desc, 1); // warmup |
bda219d843f6
6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents:
2
diff
changeset
|
107 |
|
bda219d843f6
6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents:
2
diff
changeset
|
108 |
long start = System.currentTimeMillis(); |
bda219d843f6
6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents:
2
diff
changeset
|
109 |
doReps(oout, oin, sbuf, desc, ncycles); |
2 | 110 |
return System.currentTimeMillis() - start; |
111 |
} |
|
309
bda219d843f6
6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents:
2
diff
changeset
|
112 |
|
2 | 113 |
/** |
114 |
* Run benchmark for given number of cycles. |
|
115 |
*/ |
|
116 |
void doReps(ObjectOutputStream oout, ObjectInputStream oin, |
|
309
bda219d843f6
6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents:
2
diff
changeset
|
117 |
StreamBuffer sbuf, ObjectStreamClass desc, int ncycles) |
bda219d843f6
6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents:
2
diff
changeset
|
118 |
throws Exception |
2 | 119 |
{ |
309
bda219d843f6
6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents:
2
diff
changeset
|
120 |
for (int i = 0; i < ncycles; i++) { |
bda219d843f6
6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents:
2
diff
changeset
|
121 |
sbuf.reset(); |
bda219d843f6
6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents:
2
diff
changeset
|
122 |
oout.reset(); |
bda219d843f6
6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents:
2
diff
changeset
|
123 |
oout.writeObject(desc); |
bda219d843f6
6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents:
2
diff
changeset
|
124 |
oout.flush(); |
bda219d843f6
6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents:
2
diff
changeset
|
125 |
oin.readObject(); |
bda219d843f6
6627823: Missed whitespace normalization files: jdk/test/java/rmi
ohair
parents:
2
diff
changeset
|
126 |
} |
2 | 127 |
} |
128 |
} |