onody回答ポイント なしウォッチ 1

c言語、javaの実行速度について、解決できない疑問があります。


以下の2つを実行したところ、
javaが圧倒的に速かったのですが、
この差はなぜなのでしょうか。

ソースは他のサイトを参考にしました。
http://takenaka-akio.org/etc/benchmark/

実行環境は、MacBook Pro 2.2GHz Core i7 メモリ16GBです。


## Cの場合

```c
#include <stdio.h>

int main(int argc, char *argv[]) {

int rep = 1000000; // 足し算の回数
int n = 10000; // 変数の数(配列の要素数)

int x[10000] = {};

for (int j = 0; j < rep; ++j) {
for (int i = 0; i < n; ++i) {
x[i] += 1;
}
}

}
```
```bash
$ clang main.c -o main.out
$ time ./main.out

real 0m26.795s
user 0m26.754s
sys 0m0.028s
```


## javaの場合

```java
package com.company;

import java.util.Arrays;

public class Main {

public static void main(String[] args) {


int rep = 1000000;
int n = 10000;

int[] x = new int[n];
Arrays.fill(x, 0);

for (int j = 0; j < rep;) {

for (int i = 0; i < n;) {
x[i] += 1;
i++;
}

j++;
}


}
}

```

```bash
$ time java com.company.Main

real 0m1.698s
user 0m2.134s
sys 0m0.217s
```

ログインして回答する

みんなの回答

この質問へのコメント

コメントはありません

この質問への反応(ブックマークコメント)

質問の情報

登録日時
2014-11-02 16:05:33
終了日時
2014-11-09 16:10:03
回答条件
1人5回まで

この質問のカテゴリ

この質問に含まれるキーワード

Core i775C言語303MacBook Pro110Java1731bash151素数82変数1063Char156配列924ARGV23

人気の質問

メニュー

PC版