Показать сообщение отдельно
Старый 28.11.2011, 11:11   #27
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Великая битва 4х языков программирования на простейшей задачке

Вариант HolyDel'a на шарпе:
using System;

namespace 
speedTest
{
    static class 
Program
    
{
        static 
int Main()
        {
            
int counter = 0;

            var 
a = DateTime.Now.Ticks;

            var 
map = new int[512 * 128 * 512];

            var 
allocate_time = DateTime.Now.Ticks - a;

            
a = DateTime.Now.Ticks;
            for (
int i = 0; i < 20; ++i)
            {
                for (
int x = 0; x < 512; ++x)
                {
                    for (
int y = 0; y < 128; ++y)
                    {
                        for (
int z = 0; z < 512; ++z)
                        {
                            ++
counter;
                            
map[512 * 128 * x + 128 * y + z] = counter;
                        }
                    }
                }
            }

            var 
fill_time = DateTime.Now.Ticks - a;
            
Console.WriteLine("allocate time: {0}", allocate_time / 10000f);
            
Console.WriteLine("fill time: {0}", (fill_time / 20f) / 10000f);
            
Console.Read();
            return 
0;
        }
    }
} 
Результаты на рабочей машине (не той которая в подписи, а чуть по мощнее, но тоже i5)

allocate time: 1,0001
fill time: 43,00246
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
HolyDel (28.11.2011)