Проверил на своей боевой тачке - ноутбук ASUS V6F00J - Core2Duo 1.86, 2Гб (режим максимальной производительности):
Test1
N = 10000000
0,0468618 sec.
Test2
N = 10000000
0,0468618 sec.,
причём гонял раз 15-20. Текст программы немного изменил - он такой:
using System;
using System.IO;
using System.Collections.Generic;
namespace test
{
class Program
{
static void Main( string[] args )
{
CreateFile ();
Test1 ();
Test2 ();
Console.ReadLine ();
}
public static void CreateFile()
{
int N = 10000000;
FileStream fs = new FileStream ( "InputData.in", FileMode.Create, FileAccess.Write );
StreamWriter sw = new StreamWriter ( fs );
Random rand = new Random ();
sw.WriteLine ( N );
for ( int i = 0; i maxim )
maxim = x[i];
DateTime dt2 = DateTime.Now;
Console.WriteLine ( ( dt2 - dt1 ).TotalSeconds + " sec. " );
}
public static void Test1()
{
int i;
FileStream fs = new FileStream ( "InputData.in", FileMode.Open, FileAccess.Read );
StreamReader sr = new StreamReader ( fs );
int N = System.Convert.ToInt32 ( sr.ReadLine () );
Console.WriteLine ( "N = " + N );
int[] x = new int[N];
for ( i = 0; i maxim )
maxim = x[i];
DateTime dt2 = DateTime.Now;
Console.WriteLine ( ( dt2 - dt1 ).TotalSeconds + " sec. " );
}
}
}
Хотя на будующие замечу - использование в тестах на время DateTime.Now не есть хорошо.
Данное сообщение получено с сайта GotDotNet.RU
Последний раз редактировалось 30 October 2007 19:12
|