1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
| using System;
namespace test
{
public struct DivisionResult
{
public int Quotient;
public int Reste;
}
public class DivisionResultClass
{
private int Quotient;
private int Reste;
public DivisionResultClass(int dividende, int diviseur)
{
Quotient = dividende/diviseur;
Reste = dividende%diviseur;
}
}
class Main0
{
static void Divise0(int dividende, int diviseur, out int quotient, out int reste)
{
quotient = dividende/diviseur;
reste = dividende%diviseur;
}
static DivisionResult Divise1(int dividende, int diviseur)
{
DivisionResult result;
result.Quotient = dividende/diviseur;
result.Reste = dividende%diviseur;
return result;
}
static DivisionResultClass Divise2(int dividende, int diviseur)
{
return new DivisionResultClass(dividende, diviseur);
}
[STAThread]
static void Main()
{
long start, stop;
int size = 500000000;
start = DateTime.Now.Ticks;
for (int i=0; i<size; i++)
{
int q, r;
Divise0(i, 3, out q, out r);
}
stop = DateTime.Now.Ticks;
Console.WriteLine("Time : {0} ns, soit {1} s", (stop-start)*100, ((stop-start)*100)/1000000000.0 );
start = DateTime.Now.Ticks;
for (int i=0; i<size; i++)
{
DivisionResult r = Divise1(i, 3);
}
stop = DateTime.Now.Ticks;
Console.WriteLine("Time : {0} ns, soit {1} s", (stop-start)*100, ((stop-start)*100)/1000000000.0 );
start = DateTime.Now.Ticks;
for (int i=0; i<size; i++)
{
DivisionResultClass r = Divise2(i, 3);
}
stop = DateTime.Now.Ticks;
Console.WriteLine("Time : {0} ns, soit {1} s", (stop-start)*100, ((stop-start)*100)/1000000000.0 );
}
}
} |