Какой тип (int или byte) использовать для операций с большими массивами - C#
Формулировка задачи:
Всем здравствуйте. Есть 2 массива. Массивы неизвестной, очень большой длинны. Я в циклах перемножаю эти массивы. Для сохранения результатов использую массив размерностью равной сумме первых 2 массивов, т.е. он может быть скажем из 1000000000 элементов.
Вообщем вопрос. Операция над числами дает в результате int, что лучше 100000000 раз приводить к типу byte, или объявить результатирующий массив из 1000000000 int, хотя ему вполне хватит типа byte
Решение задачи: «Какой тип (int или byte) использовать для операций с большими массивами»
textual
Листинг программы
static void Main(string[] args)
{
Console.WriteLine("press");
Console.ReadLine();
int size = 100000000;
for (int t = 0; t < 10; t++)
{
Test1(size);
Test2(size);
Console.WriteLine();
}
Console.ReadLine();
}
private static void Test1(int size)
{
int[] result = new int[size];
var st = Stopwatch.StartNew();
for (int i = 0; i < size; i++)
{
result[i] = i * i;
}
Console.WriteLine(st.ElapsedMilliseconds);
}
private static void Test2(int size)
{
byte[] result = new byte[size];
var st = Stopwatch.StartNew();
for (int i = 0; i < size; i++)
{
result[i] = (byte)(i * i);
}
Console.WriteLine(st.ElapsedMilliseconds);
}