MQL4 , JDK1.4.2 и прочие : сравнение скорости - страница 2

 
Попутно пытался измерить скорость выполнения теста в 1С.Предприятии :)
Типов int и double там нет, но меня это не остановило. Запустил, попутно стал искать возможность измерить время выполнения. Не понадобилось. На глазок - минут 5 заняло :)
 
К тестам на производительность добавлена Java и :

VC++: Time: 47 ms, ResInt=-752584127 ResDouble=17247836076609
Java: Time: 187 ms, ResInt=-752584127 ResDouble=1.7247836076609E13
MQL4: Time: 797 ms, ResInt=-752584127 ResDouble=17247836076609
Easy: Time: 875 ms, ResInt=3369844457615319400 ResDouble=3369844457615319400
Ami : Time: 12626 ms, ResInt=3.36984e+020 ResDouble=3.36984e+020
MQL2: Time: 22156 ms, ResInt=333333383333717340000 ResDouble=333333383333717340000
WL3 : Time: 32422 ms, ResInt=3.33333383333717E20 ResDouble=3.33333383333717E20


Все замеры производились на одном и том же компьютере в одинаковых условиях.
 
К тестам на производительность добавлена Java и :

А говорят java "тормознутая". java рулит :)
 
К тестам на производительность добавлена Java и :

А говорят java "тормознутая". java рулит :)

Дык что с чем сравнивать.. :P
А сравнивают обычно с сишкой.
И раздницца в 4 раза на лицо.
 
К тестам на производительность добавлена Java и :

А говорят java "тормознутая". java рулит :)

Дык что с чем сравнивать.. :P
А сравнивают обычно с сишкой.
И раздницца в 4 раза на лицо.

А мне Java нравится. И если еще откомпилировать в машинно-зависимые коды - еще надо посмотреть кто быстрее будет :))
 
К тестам на производительность добавлена Java и :

А говорят java "тормознутая". java рулит :)

Дык что с чем сравнивать.. :P
А сравнивают обычно с сишкой.
И раздницца в 4 раза на лицо.

А мне Java нравится. И если еще откомпилировать в машинно-зависимые коды - еще надо посмотреть кто быстрее будет :))

Никто быстрее не будет по идее :) На то они и машинно зависимые коды :)
 
Ну вот, сам и ответил. Так что "раздницца в 4 раза" - это не аргумент.
 
Ну вот, сам и ответил. Так что "раздницца в 4 раза" - это не аргумент.

Я оперирую предоставленными данными, но никак не отвлеченными предположениями :)
 
Тогда еще можно потестить C#, вернее виртуальную машину MS .Net 1.1 (Поскольку результаты будут идентичны для J#, C++.Net и др.)

// %SystemRoot%\Microsoft.NET\Framework\v1.1.4322\csc.exe Test.cs
using System;
class Test
{
	static void Main()
	{
  	int res_int = 0;
		double res_double = 0;
		DateTime dt0 = DateTime.Now;
		for (int i=0;i<=10000000;i++)
		{
			res_int+=i*i;
			res_int++;
			res_double+=i*i;
			res_double++;
		}
		DateTime dt1 = DateTime.Now;
		Console.WriteLine("Затрачено "+(dt1.Subtract(dt0)).ToString()+" миллисекунд");
		Console.WriteLine("ResInt="+res_int+"  ResDouble="+res_double);
	}
}



Ну и попутно mssql попробовал:

declare @i real,@res_int real, @res_double real
declare @t0 datetime, @t1 datetime
set @res_int = 0
set @res_double = 0
set @t0 = getdate()
set @i = 0
while @i <= 10000000
begin
	set @res_int = @res_int + @i * @i
	set @res_int = @res_int + 1
	set @res_double = @res_double + @i * @i
	set @res_double = @res_double + 1
	set @i = @i + 1
end
set @t1 = getdate()
print 'Затрачено ' + cast(datediff(ms, @t0, @t1) as varchar(11)) + ' миллисекунд'
print 'ResInt = ' + cast(@res_int as varchar(30)) + ', ResDouble = ' + cast(@res_double as varchar(50))



на 1.5G Celeron M получаеться
.net = 125 ms
mql4 = 1400 ms
mssql2000 = 99000 ms

Задачи разные, наверное :)

 
Результаты C# (VS2005, NET1.1) на том же компьютере:
С#: Time: 203 ms, ResInt=-752584127 ResDouble=17247836076609