Решил проверить производительность популярных виртуальных машин. Тестировал Microsoft .Net, Mono и Java. Дал им банальнейшую задачу, в которой написал как можно более низкоуровневый код, дабы измерить чистую убыль производительности. Программа сто миллионов раз резервирует память для матрицы 3x3, заполняет ее случайными числами и считает определитель. Вот код на Java (на C# почти тоже самое):
import java.util.Random;
class test
{
public static void main(String [] args)
{
int a[][];
int k,m,j,det;
Random random = new Random();
for(j = 0; j<100000000; j++)
{
a = new int[3][3];
for(k=0; k<3; k++) for(m=0; m<3; m++) {a[k][m] = random.nextInt();}
det = a[0][0]*a[1][1]*a[2][2]+a[0][1]*a[1][2]*a[2][0]+a[0][2]*a[1][0]*a[2][1]*-
a[0][2]*a[1][1]*a[2][0]-a[0][1]*a[1][0]*a[2][2]-a[0][0]*a[1][2]*a[2][1];
}
}
}
Аналогичный код на СИ (выполнялся минуту):
#include <stdlib.h>
int main()
{
int* a;
int k,m,j,det;
for(j = 0; j<100000000; j++)
{
a = (int*) malloc(9*sizeof(int));
for(k=0; k<3; k++) for(m=0; m<3; m++) {*(a+3*k+m) = rand();}
det = (*(a+3*0+0))*(*(a+3*1+1))*(*(a+3*2+2))+(*(a+3*0+1))*(*(a+3*1+2))*(*(a+3*2+0))+(* (a+3*0+2))*(*(a+3*1+0))*(*(a+3*2+1))*-
(*(a+3*0+2))*(*(a+3*1+1))*(*(a+3*2+0))-(*(a+0+3*1))*(*(a+3*1+0))*(*(a+3*2+2))-(* (a+3*0+0))*(*(a+3*1+2))*(*(a+3*2+1));
free(a);
}
return 0;
}
(просьба не бить меня за то, как я работаю с двумерными массивами на Си ;) )
Результаты печальны: первое место.... Microsoft! Всего в полтора раза медленне Си (одна минута, тридцать секунд). Далее жаба - две минуты. И инвалид Mono - 2 мин 45 с. Запуск Явы в с ключем -server не помог. Не хорошо как-то. Может это просто MS жульничает? Все-таки тесная интеграция с ОС... Незнаю... :( Попробуйте кто-нибудь у себя, мож другие цифры будут.
←
1
2
→
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от iBliss
Ответ на:
комментарий
от svu
Ответ на:
комментарий
от iBliss
Ответ на:
комментарий
от svu
Ответ на:
комментарий
от Skeptik
Ответ на:
комментарий
от svu
Ответ на:
комментарий
от iBliss
Ответ на:
комментарий
от svu
Ответ на:
комментарий
от iBliss
Ответ на:
комментарий
от svu
Ответ на:
комментарий
от iBliss
Ответ на:
комментарий
от iBliss
Ответ на:
комментарий
от svu
Ответ на:
комментарий
от Skeptik
Ответ на:
комментарий
от svu
Ответ на:
комментарий
от xTERM
Ответ на:
комментарий
от xTERM
Ответ на:
комментарий
от svu
Ответ на:
комментарий
от xTERM
Ответ на:
комментарий
от svu
Ответ на:
комментарий
от signal
Ответ на:
комментарий
от xTERM
Ответ на:
комментарий
от Gharik
Ответ на:
комментарий
от xTERM
Ответ на:
комментарий
от svu
Ответ на:
комментарий
от Skeptik
Ответ на:
комментарий
от svu
Ответ на:
комментарий
от true
Ответ на:
комментарий
от xTERM
Ответ на:
комментарий
от svu
Ответ на:
комментарий
от Gharik
Ответ на:
комментарий
от Gharik
Ответ на:
комментарий
от Cris
Ответ на:
комментарий
от Gharik
Ответ на:
комментарий
от iBliss
Ответ на:
комментарий
от signal
Ответ на:
комментарий
от iBliss
Ответ на:
комментарий
от iBliss
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум [java] тормозит (2010)
- Форум Тормоза с Java (2022)
- Форум Оказывается AliExpress написан на Java (2019)
- Форум Братцы, выручайте! (2007)
- Форум Выручайте, братцы (2008)
- Форум [java] Не тормозит, говорите? (2010)
- Форум Тормозит Java JDK 1.5 (2006)
- Форум (GTK) Братцы, выручайте (2008)
- Форум 0-day vulnerability in Java (2013)
- Форум [java не тормозит] Eclipse офигела! (2011)