public class ArryDemo {
public int[][] a;
public int[][] b;
public static void main(String[] args) {
// TODO 自動生成的方法存根
ArryDemo a1 = new ArryDemo();
a1.news();
long startTime1 = System.currentTimeMillis();
// 行初始化
a1.news2();
long endTime1 = System.currentTimeMillis();
System.out.println("行初始化運行時間:" + (endTime1 - startTime1) + "ms");
long startTime2 = System.currentTimeMillis();
// 列初始化
a1.news3();
long endTime2 = System.currentTimeMillis();
System.out.println("列初始化運行時間:" + (endTime2 - startTime2) + "ms");
}
/**
* 構造方法將a,b陣列設定為128行40960列
*/
public ArryDemo() {
a = new int[128][40960];
b = new int[128][40960];
}
/**
* 初始化b陣列
*/
public void news() {
for (int i = 0; i < 128; i++) {
for (int j = 0; j < 40960; j++) {
b[i][j] = 100;
}
}
}
/**
* 以行的方式將b陣列的值賦給a陣列
*/
public void news2() {
for (int i = 0; i < 128; i++) {
for (int j = 0; j < 40960; j++) {
a[i][j] = b[i][j];
}
}
}
/**
* 以列的方式將b陣列的值賦給a陣列
*/
public void news3() {
for (int j = 0; j < 40960; j++) {
for (int i = 0; i < 128; i++) {
a[i][j] = b[i][j];
}
}
}
}
代碼如上,外層for回圈運行次數越多,越耗費時間。然而在matlab上寫同樣的程式,卻是截然相反的結果:外層for回圈運行次數越多,越節省時間
為什么?(這是多核編程課留的作業,我沒有找到原因,求幫助)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/117476.html
標籤:Java相關
下一篇:運行servltet可以插入到資料庫。。。。為什么運行jsp按提交之后沒反應!!也不報錯!!!!為什么!!!!!!!!!!!!!!!!!!
