![]() |
|
IT и Связь Обсуждение "айтишных" вопросов и средств связи |
|
Опции темы | Опции просмотра |
![]() |
#1 |
My name is Exaybachay
|
![]()
тут для некоторой задачи надо было оценить на чем эту самую задачу ваять - на джаве или на с++. ну там много всяких за и против короче, но один из критериев - производительность. ну я и подумал - напишу маленький кусочек более-менее идентичного кода на обоих языках, запущу и проверю.
и вот результат: код на с++: Код:
#include <stdio.h> void main() { int N = 10000; int * a = new int[N]; int i,j; for (i = 0; i < N; i++) { a[i] = N - i; } printf("Start\n"); double d = 0; for (i = 0; i < N - 1; i++) { for (j = i + 1; j < N; j++) { if (a[i] > a[j]) { int tmp = a[i]; a[i] = a[j]; a[j] = tmp; if (a[i] > 100) { double * da = new double[5]; da[3] = i * 1.0 / j; d += da[3]; delete da; } } } } printf("Finish\n"); printf("%f\n", d); } код на джаве: Код:
public class test { public static void main(String [] args) { int N = 10000; int a [] = new int[N]; int i,j; for (i = 0; i < N; i++) { a[i] = N - i; } System.out.println("Start"); double d = 0; for (i = 0; i < N - 1; i++) { for (j = i + 1; j < N; j++) { if (a[i] > a[j]) { int tmp = a[i]; a[i] = a[j]; a[j] = tmp; if (a[i] > 100) { double [] da = new double[5]; da[3] = i * 1.0 / j; d += da[3]; } } } } System.out.println("Finish"); System.out.println(d); } } другой код на с++: Код:
#include <stdio.h> void main() { int N = 10000; int a[10000]; int da[5]; int i,j; for (i = 0; i < N; i++) { a[i] = N - i; } printf("Start\n"); double d = 0; for (i = 0; i < N - 1; i++) { for (j = i + 1; j < N; j++) { if (a[i] > a[j]) { int tmp = a[i]; a[i] = a[j]; a[j] = tmp; if (a[i] > 100) { da[3] = i * 1.0 / j; d += da[3]; } } } } printf("Finish\n"); printf("%f\n", d); } си++ компилер майкрософтовский от VS6.0, компилено с опцией O2 (оптимизация по производительности, если я не ошибаюсь), джава - J2SE 1.4.2 как вам результат? ;)) единственное что джавовская версия отъедает во время исполнения 10 мегов оперативки, а сишные обе - менее двух. дисклаймер: код писался в чукотском стиле, прошу не ударяться в его критику ;)
__________________
митьки никого не хотят победить |
![]() |
![]() |
Зарегистрируйтесь или войдите под своим именем, чтобы спрятать этот рекламный блок |