Форум: "Потрепаться";
Текущий архив: 2004.07.18;
Скачать: [xml.tar.bz2];
ВнизJava vs Delphi Найти похожие ветки
← →
StarCon (2004-06-30 09:16) [40]вопрос не в том что рулит а что нет
вопрос - почему жаба через виртуальную машину быстрее чем дельфи напрямую... процессор все равно выполняет код, почему код виртуальной машины + код программы быстрее кода программы на дельфи
← →
StarCon (2004-06-30 09:18) [41]мне вот указали на JRokit - быстрейшую жаба-машину
на некоторых операциях она бьет дельфи более чем в 20 раз
магия какая-то :)
← →
cyborg © (2004-06-30 09:29) [42]Какая это магия?
Вот это убери Edit1.Text:=IntToStr((GetTickCount()-t)); и в яве тоже, тестируй без вывода на экран.
← →
cyborg © (2004-06-30 09:33) [43]И к тому же, всё вот это дело v:=v1*v2+v3/v4-v; по идее посчитается компилятором из констант и больше не будет считаться. Сто миллионов пустой цикл какой-то получается.
А насчёт [42] cyborg © (30.06.04 09:29) я не то смотрел :)
← →
cyborg © (2004-06-30 09:34) [44]Да блин, вообще касой я стал :), всё правильно там.
← →
SPeller © (2004-06-30 09:35) [45]
D: - Вощем Java рулит. Сечас особенно идет тенденция к переводу софта на Java.
- Java не работает адекватно, е-мое. Пусть арифметические операции работают примелимо, допустим. Но кроме этого есть еще много других аспектов.
- Java - это не совсем интерпретатор, скорее - "компилятор at run-time".
- голоса из прошлого?... дарагой, Java рулила лет 5 - 7 назад.
D: - Sun хочет сделать Java мэйнстримом для корпоративного ПО.
- Java 3D – это часть программного кода, известного как API, ранее используемая NASA в системе контроля миссии на Марс.
D: - Java рулит. Сейчас есть тенденция к переходу программирования на Java.
Дима как обычно в своем репертуаре :-))
← →
StarCon (2004-06-30 10:47) [46]ну хорошо, вот оптимизированный код:
var
t,y:cardinal;
i:integer;
v,v1,v2,v3,v4,v5,v6,a:double;
begin
v:=2.674374;
v1:=0.6748345;
v2:=9.43924347;
v3:=67.26357244;
v4:=4.82736832;
v5:=0.78473924839;
v6:=2.94739473982;
t:=GetTickCount();
a := v1*v2+v3/v4;
for i:=0 to 100000000 do
begin
v:=a-v;
end;
y := GetTickCount()-t;
Edit1.Text:=IntToStr(y);
end;
на моем компьюторе выполняется - 1578
почему такой же код на жабе выполняется - 1438?
настройки компилятора выставил по рекомендациям (кстати совсем никакого эффекта не дали).
← →
wicked © (2004-06-30 11:06) [47]ну блин, человек дает... меряет пиписки двум продуктам и силится кому-то что-то доказать... спрошу прямо....
> StarCon [46]
дарагой, тебе заплатили?... :)
нравится ява - пользуй яву...
не нравится - пользуй что-то другое...
по любому никто тут сразу не кинется писать на яве...
← →
wicked © (2004-06-30 11:07) [48]в догонку - тест очень синтетический и с реальной жизнью имеет очень мало общего...
← →
Real © (2004-06-30 11:24) [49]интерпретируемый язык - медленнее по определению. собака зарыта в тесте (где именно, не берусь сказать). упростите до максимума тест.
← →
Dmitriy O. © (2004-06-30 11:29) [50]А мож дело в константах. Java прочитала один раз и больше пропускает их А Delphi читает каждый цикл по новой.
Мож попробывать без констант в каждом цикле изменяя значения переменных.
← →
cyborg © (2004-06-30 11:29) [51]Вот на фрипаскале написал, только с целыми числами:
program test;
Uses windows;
var
t,y:cardinal;
i:integer;
v,v1,v2,v3,v4,v5,v6,a:Longint;
begin
v:=45647;
v1:=-1235;
v2:=4657252;
v3:=34722;
v4:=-2372236;
v5:=234111230;
v6:=2342;
t:=GetTickCount();
a := v1*v2+v3-v4;
for i:=0 to 100000000 do
begin
v:=a-v;
end;
y := GetTickCount()-t;
WriteLN("V:=",V," v:=a-v | Time: ", y);
v:=45647;
t:=GetTickCount();
for i:=0 to 100000000 do
begin
v:=(v1*v2+v3-v4)-v;
end;
y := GetTickCount()-t;
WriteLN("V:=",V," v:=(v1*v2+v3-v4)-v | Time: ",y);
v:=45647;
t:=GetTickCount();
for i:=0 to 100000000 do
begin
asm
MOV EDX,A;
SUB EDX,V;
MOV V,EDX;
end;
end;
y := GetTickCount()-t;
WriteLN("V:=",V," ASM v:=a-v | Time: ",y);
WriteLN("Press ENTER to exit:");
ReadLN;
end.
Результат:
V:=-1454377613 v:=a-v | Time: 851
V:=-1454377613 v:=(v1*v2+v3-v4)-v | Time: 1282
V:=-1454377613 ASM v:=a-v | Time: 711
Press ENTER to exit:
На Duron 800 MHz
← →
Danilka © (2004-06-30 11:33) [52]:))
нигде тут собака и не рылась. что значит "интерпретируемый"? по-вашему интерпритатор берет одну команду, например, v:=a-v, парсит ее, исполняет, затем читает следующую команду?
дык, тогда эту яву вообще невозможно было-бы запускать. :))
там все намного сложнее, в данном случае цикл отрабатывает уже откомпиленый и оптимизированный.
← →
StarCon (2004-06-30 11:52) [53]всем спасибо! вопрос снят
← →
azerty (2004-06-30 20:51) [54]as part of ... see article "Кто сегодня самый шустрый?" on http://rsdn.ru
← →
iZEN © (2004-06-30 20:54) [55]to azerty (30.06.04 20:51) [54].
Безбожно устарело, там ещё Java2 1.3 сравнивается.
Страницы: 1 2 вся ветка
Форум: "Потрепаться";
Текущий архив: 2004.07.18;
Скачать: [xml.tar.bz2];
Память: 0.55 MB
Время: 0.026 c