java和node.js創建10億個對象的開銷--》java大約是node.js的1/50的時間

1)Test.js

class Person {
    age = 20;

    setAge(age) {
        this.age = age;
    }
}

let loopCnt = 1000000000;

let s = new Date().getTime();

for (let i = 0; i < loopCnt; i++) {
    let p = new Person();
    p.setAge(22);
}

let e = new Date().getTime();
console.log(e - s); // 243267-->243s

2)Test.java

public class Test {
    private static final int loopCnt = 1000000000;

    public static void t1() {
        long s = System.currentTimeMillis();
        for (int i = 0; i < loopCnt; i++) {
            Person p = new Person();
            p.setAge(22);
        }
        long e = System.currentTimeMillis();
        System.out.println(e - s);  // 6789
    }

    public static void main(String[] args) {
        System.out.println(System.getProperty("java.version"));
        t1();
    }

    static class Person {
        private int age = 20;

        public int getAge() {
            return age;
        }

        public void setAge(Integer age) {
            this.age = age;
        }
    }

    /*
    1.8.0_131
    4133-->4s
     */
}

可以看出:

java在創建對象開銷方面在jdk1.8之後還是很給力的。java大約是node.js的1/50的時間。

因此java在寫代碼的時候,基本可以隨便的new對象,而不用擔心性能問題,遮掩工作遊戲服務器用java更加堅定了!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章