1 /* |
1 /* |
2 * Copyright 2000 Sun Microsystems, Inc. All Rights Reserved. |
2 * Copyright 2000 Sun Microsystems, Inc. All Rights Reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
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 |
6 * under the terms of the GNU General Public License version 2 only, as |
37 * return values. |
37 * return values. |
38 */ |
38 */ |
39 public class ShortArrayCalls implements Benchmark { |
39 public class ShortArrayCalls implements Benchmark { |
40 |
40 |
41 interface Server extends Remote { |
41 interface Server extends Remote { |
42 public short[] call(short[] a) throws RemoteException; |
42 public short[] call(short[] a) throws RemoteException; |
43 } |
43 } |
44 |
44 |
45 static class ServerImpl extends UnicastRemoteObject implements Server { |
45 static class ServerImpl extends UnicastRemoteObject implements Server { |
46 public ServerImpl() throws RemoteException { |
46 public ServerImpl() throws RemoteException { |
47 } |
47 } |
48 |
48 |
49 public short[] call(short[] a) throws RemoteException { |
49 public short[] call(short[] a) throws RemoteException { |
50 return a; |
50 return a; |
51 } |
51 } |
52 } |
52 } |
53 |
53 |
54 static class ServerFactory implements BenchServer.RemoteObjectFactory { |
54 static class ServerFactory implements BenchServer.RemoteObjectFactory { |
55 public Remote create() throws RemoteException { |
55 public Remote create() throws RemoteException { |
56 return new ServerImpl(); |
56 return new ServerImpl(); |
57 } |
57 } |
58 } |
58 } |
59 |
59 |
60 /** |
60 /** |
61 * Issue short array calls. |
61 * Issue short array calls. |
62 * Arguments: <array size> <# calls> |
62 * Arguments: <array size> <# calls> |
63 */ |
63 */ |
64 public long run(String[] args) throws Exception { |
64 public long run(String[] args) throws Exception { |
65 int size = Integer.parseInt(args[0]); |
65 int size = Integer.parseInt(args[0]); |
66 int reps = Integer.parseInt(args[1]); |
66 int reps = Integer.parseInt(args[1]); |
67 BenchServer bsrv = Main.getBenchServer(); |
67 BenchServer bsrv = Main.getBenchServer(); |
68 Server stub = (Server) bsrv.create(new ServerFactory()); |
68 Server stub = (Server) bsrv.create(new ServerFactory()); |
69 short[] array = new short[size]; |
69 short[] array = new short[size]; |
70 |
70 |
71 long start = System.currentTimeMillis(); |
71 long start = System.currentTimeMillis(); |
72 for (int i = 0; i < reps; i++) |
72 for (int i = 0; i < reps; i++) |
73 stub.call(array); |
73 stub.call(array); |
74 long time = System.currentTimeMillis() - start; |
74 long time = System.currentTimeMillis() - start; |
75 |
75 |
76 bsrv.unexport(stub, true); |
76 bsrv.unexport(stub, true); |
77 return time; |
77 return time; |
78 } |
78 } |
79 } |
79 } |
80 |
|