s*******e 发帖数: 664 | 1 ☆─────────────────────────────────────☆
yanb (弹性+浮动,爽) 于 (Tue Nov 17 18:00:50 2009, 美东) 提到:
很奇怪, 搞不清楚为什么这个java程序比c++快很多很多.
代码几乎一模一样, 一个用64bit JVM, 一个用64bit gcc编译.
用top命令查看, 前者直接用RES内存, 后者开始用VIRT内存,
然后RES内存逐渐增大. 如果把c++改成vector而不是数组,
则RES内存立即分配,但计算速度还是同样慢. 计算时间附在最后.
// file: Matrix.java
// compile: javac Matrix.java
// run: java -Xms2g -Xmx12g Matrix
class Matrix {
public static void main(String[] args) {
int row = 20000;
int col = 20000;
double[][] array = new do |
|