File:ForEach method and foreach iteration of array.svg
Материал из Викисклада, хранилища свободных медиафайлов
Перейти к навигации
Перейти к поиску
Размер этого PNG-превью для исходного SVG-файла: 500 × 369 пкс. Другие разрешения: 320 × 236 пкс | 640 × 472 пкс | 1024 × 756 пкс | 1280 × 945 пкс | 2560 × 1889 пкс.
Исходный файл (SVG-файл, номинально 500 × 369 пкс, размер файла: 113 КБ)
Сведения о файле
Структурированные данные
Краткие подписи
Краткое описание
[править]ОписаниеForEach method and foreach iteration of array.svg |
English: Processing time of ForEach method (and CopyTo method) and foreach iteration of array Class in C#, by DELL Vostro 200.
This shows that Foreach takes longer than foreach.
日本語: C#の配列で、ForEachメソッド(とCopyToメソッド)を使った場合と、foreachで繰り返しを行なった場合の処理時間(DELL Vostro 200を使用)。
Foreachのほうがforeachより時間がかかっていることがわかる。 |
Дата | |
Источник | Собственная работа |
Автор | aokomoriuta(青子守歌) |
Другие версии |
Лицензирование
[править]Я, владелец авторских прав на это произведение, добровольно публикую его на условиях следующих лицензий:
Этот файл доступен на условиях лицензий Creative Commons Attribution-Share Alike 3.0 Unported, 2.5 Generic, 2.0 Generic и 1.0 Generic.
- Вы можете свободно:
- делиться произведением – копировать, распространять и передавать данное произведение
- создавать производные – переделывать данное произведение
- При соблюдении следующих условий:
- атрибуция – Вы должны указать авторство, предоставить ссылку на лицензию и указать, внёс ли автор какие-либо изменения. Это можно сделать любым разумным способом, но не создавая впечатление, что лицензиат поддерживает вас или использование вами данного произведения.
- распространение на тех же условиях – Если вы изменяете, преобразуете или создаёте иное произведение на основе данного, то обязаны использовать лицензию исходного произведения или лицензию, совместимую с исходной.
This file is licensed under the Creative Commons Attribution-Noncommercial 3.0 Unported license. | |
|
Разрешается копировать, распространять и/или изменять этот документ в соответствии с условиями GNU Free Documentation License версии 1.2 или более поздней, опубликованной Фондом свободного программного обеспечения, без неизменяемых разделов, без текстов, помещаемых на первой и последней обложке. Копия лицензии включена в раздел, озаглавленный GNU Free Documentation License.http://www.gnu.org/copyleft/fdl.htmlGFDLGNU Free Documentation Licensetruetrue |
Вы можете выбрать любую из этих лицензий.
C# source code
[править]using System.Collections.Generic;
using System;
namespace LWisteria.Foreach
{
/// <summary>
/// Foreachの性能比較クラス
/// </summary>
static class Foreach
{
/// <summary>
/// エントリポイント
/// </summary>
/// <returns>終了コード</returns>
static int Main()
{
// ストップウォッチ
System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
// データ数
const int N = 10000000;
// 繰り返す回数
const int M = 100;
// 2倍ずつ計算
for(int n = 1; n < N; n *= 2)
{
// 計算するデータの生成
Sample[] samples = new Sample[n];
for(int i = 0; i < n; i++)
{
// 0, 1, 2...に10.5, 11.5, 12.5 ...を格納
samples[i] = new Sample() { Value = n + i };
}
// foreach
double sum1 = 0;
stopwatch.Reset();
stopwatch.Start();
foreach(Sample sample in samples)
{
for(int i = 0; i < M; i++)
{
sum1 += System.Math.Sqrt(sample.Value);
}
}
long time1 = stopwatch.ElapsedTicks;
// Array.Foreachメソッド
double sum2 = 0;
stopwatch.Reset();
stopwatch.Start();
Array.ForEach<Sample>(samples, (sample) =>
{
for(int i = 0; i < M; i++)
{
sum2 += System.Math.Sqrt(sample.Value);
}
});
long time2 = stopwatch.ElapsedTicks;
// 結果の表示
Console.WriteLine("{0}, {1}, {2}", n, time1, time2);
}
// 終了コードを返す
return Environment.ExitCode;
}
/// <summary>
/// サンプルクラス(参照型)
/// </summary>
sealed class Sample
{
/// <summary>
/// 値
/// </summary>
public double Value { set; get; }
}
}
}
История файла
Нажмите на дату/время, чтобы увидеть версию файла от того времени.
Дата/время | Миниатюра | Размеры | Участник | Примечание | |
---|---|---|---|---|---|
текущий | 02:45, 7 апреля 2010 | 500 × 369 (113 КБ) | 青子守歌 (обсуждение | вклад) | {{User:青子守歌/own work| |en = Processing time of ForEach method (and CopyTo method) and foreach iteration of array Class in C#, by [http://supportapj.dell.com/support/topics/topic.aspx/jp/shared/support/jp/product_support_ce |
Вы не можете перезаписать этот файл.
Использование файла
Следующая страница использует этот файл: