Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class BitPerfTest {
- static final int SIZE = 50000000;
- static int[] a = new int[SIZE];
- static int[] b = new int[SIZE];
- static int[] c = new int[SIZE];
- static java.util.Random rand = new java.util.Random();
- public static void main(String... args) {
- fill(a);
- fillSmall(b);
- run();
- run();
- run();
- run();
- run();
- }
- public static void run() {
- add();
- mult();
- mod();
- and();
- or();
- shiftLeft();
- shiftRight();
- }
- static void fill(int[] x) {
- long then = System.currentTimeMillis();
- for(int i = 0; i < SIZE; i++) {
- x[i] = rand.nextInt(2000000000) + 1;
- }
- long now = System.currentTimeMillis();
- System.out.println("fill in " + (now - then) + " millis");
- }
- static void fillSmall(int[] x) {
- long then = System.currentTimeMillis();
- for(int i = 0; i < SIZE; i++) {
- x[i] = rand.nextInt(31) + 1;
- }
- long now = System.currentTimeMillis();
- System.out.println("fillSmall in " + (now - then) + " millis");
- }
- static void add() {
- long then = System.currentTimeMillis();
- for(int i = 0; i < SIZE; i++) {
- c[i] = a[i] + b[i];
- }
- long now = System.currentTimeMillis();
- System.out.println("add in " + (now - then) + " millis");
- }
- static void mult() {
- long then = System.currentTimeMillis();
- for(int i = 0; i < SIZE; i++) {
- c[i] = a[i] * b[i];
- }
- long now = System.currentTimeMillis();
- System.out.println("mult in " + (now - then) + " millis");
- }
- static void mod() {
- long then = System.currentTimeMillis();
- for(int i = 0; i < SIZE; i++) {
- c[i] = a[i] % b[i];
- }
- long now = System.currentTimeMillis();
- System.out.println("mod in " + (now - then) + " millis");
- }
- static void and() {
- long then = System.currentTimeMillis();
- for(int i = 0; i < SIZE; i++) {
- c[i] = a[i] & b[i];
- }
- long now = System.currentTimeMillis();
- System.out.println("and in " + (now - then) + " millis");
- }
- static void or() {
- long then = System.currentTimeMillis();
- for(int i = 0; i < SIZE; i++) {
- c[i] = a[i] | b[i];
- }
- long now = System.currentTimeMillis();
- System.out.println("or in " + (now - then) + " millis");
- }
- static void shiftLeft() {
- long then = System.currentTimeMillis();
- for(int i = 0; i < SIZE; i++) {
- c[i] = a[i] << b[i];
- }
- long now = System.currentTimeMillis();
- System.out.println("shiftLeft in " + (now - then) + " millis");
- }
- static void shiftRight() {
- long then = System.currentTimeMillis();
- for(int i = 0; i < SIZE; i++) {
- c[i] = a[i] >> b[i];
- }
- long now = System.currentTimeMillis();
- System.out.println("shiftRight in " + (now - then) + " millis");
- }
- }
- C:\files\j>javac BitPerfTest.java
- C:\files\j>java BitPerfTest
- fill in 666 millis
- fillSmall in 623 millis
- add in 54 millis
- mult in 56 millis
- mod in 158 millis
- and in 57 millis
- or in 54 millis
- shiftLeft in 51 millis
- shiftRight in 54 millis
- add in 55 millis
- mult in 57 millis
- mod in 177 millis
- and in 54 millis
- or in 49 millis
- shiftLeft in 53 millis
- shiftRight in 52 millis
- add in 49 millis
- mult in 49 millis
- mod in 150 millis
- and in 50 millis
- or in 56 millis
- shiftLeft in 46 millis
- shiftRight in 46 millis
- add in 49 millis
- mult in 50 millis
- mod in 147 millis
- and in 49 millis
- or in 49 millis
- shiftLeft in 45 millis
- shiftRight in 46 millis
- add in 49 millis
- mult in 51 millis
- mod in 158 millis
- and in 49 millis
- or in 49 millis
- shiftLeft in 48 millis
- shiftRight in 46 millis
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement