c冒泡排序比java慢原因是什么。 财富值42

2016-10-23 22:15发布

gcc的版本是5.3.0开启编译优化-O2。java是1.8的server模式
a为a[10000]时java耗时50ms。c耗时75ms。
a为十万位是java耗时5秒,c耗时7.5秒。
为什么c会比java慢?有人试过吗?
c的冒泡

void BubbleSort(int a[]) {      for(int i=0; i<len-1; i++)     {          for(int j=0; j<len-1-i; j++)         {             if(a[j]>a[j+1])             {                 int tmp=a[j];                 a[j]=a[j+1];                 a[j+1]=tmp;             }         }     } }

java code

public static void bubbleSort(int[] a) {         for (int i = 0; i < a.length - 1; i++) {             for (int j = 0; j < a.length - 1 - i; j++) {                 if (a[j] > a[j + 1]) {                     int tmp = a[j];                     a[j] = a[j + 1];                     a[j + 1] = tmp;                 }              }         }      }
友情提示: 问题已经关闭,关闭后问题禁止继续编辑,回答。