Diese Vermutung hatte ich. Wenn man aus 50000 5000 oder sogar 50 macht und sich an der Zeit nichts ändert, spricht es auch dafür.
C# (2015) benötigt sogar etwas weniger als Delphi (16,6 Sekunden)
VC++ (2015): 0 ms. Nach Abschalten der Optimierung sind es dann 103s
c#:
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int li = 0;
int lj = 0;
int st = System.Environment.TickCount;
for (li = 0; li < 50000; li++)
{
for (lj = 0; lj < 1000000; lj++)
{
}
}
int et = System.Environment.TickCount - st;
Console.WriteLine(et);
Console.ReadLine();
}
}
}
Delphi:
Delphi-Quellcode:
program Test;
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.SysUtils, Windows;
var li,lj:integer;
st: Cardinal;
begin
try
li := 0;
lj := 0;
st := GetTickCount;
for li:=0
to 50000
do
begin
for lj:=0
to 1000000
do
begin
end;
{if (li mod 1000=0) then
begin
WriteLn( li);
end; }
end;
Writeln( IntToStr(GetTickCount - st));
Readln;
except
on E:
Exception do
Writeln(E.ClassName, '
: ', E.
Message);
end;
end.
c++:
Code:
#include "stdafx.h"
#include <iostream>
#include <windows.h>
using namespace std;
#pragma optimize( "", off )
int main() {
int i, j, k;
DWORD st = GetTickCount();
for (i = 0; i < 50000; i++)
for (j = 0; j < 1000000; j++)
{
}
DWORD et = GetTickCount();
cout << (et - st);
cin >> i;
return 0;
}