我試圖在谷歌Nexus 7上運行多線程Java程序(在MapReduce的風格),以及測量的執行時間與什麼導致Android系統上多線程Java程序的性能變化?
System.currentMillis();
我發現,性能差異很大(W/4線程上的Tegra 3 w ^/4芯),如下:
704 872 729 729 1086 778 1214 1045 749 768
然而,當我使用的順序版本,我得到這樣穩定的數據:
928 851 850 842 863 917 873 905 853 870
我認爲垃圾收集器併發所以它也需要一個核心,就是它的原因造成的大的變化?
爲什麼有時性能甚至遠不如串行版本?
這真的取決於線程的效率有多高是......不知道的是,這是很難說。但總的來說,你不想有太多的線程。 – PearsonArtPhoto