⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 queuespeedtest.java

📁 JGRoups源码
💻 JAVA
字号:
// $Id: QueueSpeedTest.java,v 1.7 2005/05/30 16:15:12 belaban Exp $package org.jgroups.tests;import org.jgroups.util.LinkedListQueue;import org.jgroups.util.Queue;/** * Measures the speed of inserting and removing 1 million elements into/from a Queue and a LinkedQueue. * * @author Bela Ban */public class QueueSpeedTest {    int num_elements=1000000;    final int NUM=10;    public QueueSpeedTest(int num_elements) {        this.num_elements=num_elements;    }    public void start() throws Exception {        double q1=0, q2=0, diff;        System.out.println("warming up cache");        measureQueue();        measureLinkedListQueue();        System.out.println("running insertions " + NUM + " times (will take average)");        for(int i=0; i < NUM; i++) {            System.out.println("Round #" + (i + 1));            q1+=measureQueue();            q2+=measureLinkedListQueue();        }        q1=q1 / NUM;        q2=q2 / NUM;        System.out.println("Time to insert and remove " + num_elements + " into Queue:           " + q1 + " ms");        System.out.println("Time to insert and remove " + num_elements + " into LinkedListQueue: " + q2 + " ms");        diff=(long)(q2 - q1);        System.out.println("diff is " + Math.abs(diff) + "; " + (q2 < q1 ? "LinkedListQueue" : "Queue") + " is faster");    }    long measureQueue() throws Exception {        Queue q=new Queue();        long start, stop;        start=System.currentTimeMillis();        for(int i=0; i < num_elements; i++) {            if(i % 2 == 0)                q.add(new Integer(i));            else                q.addAtHead(new Integer(i));        }        while(q.size() > 0)            q.remove();        stop=System.currentTimeMillis();        return stop - start;    }    long measureLinkedListQueue() throws Exception {        LinkedListQueue q=new LinkedListQueue();        long start, stop;        start=System.currentTimeMillis();        for(int i=0; i < num_elements; i++) {            if(i % 2 == 0)                q.add(new Integer(i));            else                q.addAtHead(new Integer(i));        }        while(q.size() > 0)            q.remove();        stop=System.currentTimeMillis();        return stop - start;    }    public static void main(String[] args) {        int num_elements=1000000;        for(int i=0; i < args.length; i++) {            if("-num_elements".equals(args[i])) {                num_elements=Integer.parseInt(args[++i]);                continue;            }            help();            return;        }        try {            new QueueSpeedTest(num_elements).start();        }        catch(Exception ex) {            System.err.println(ex);        }    }    static void help() {        System.out.println("QueueSpeedTest [-help] [-num_elements <num>]");    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -