.NET เดเตเดฑเดฟเดฒเต เดชเตเดฐเดเดเดจเด
เดเดฒเตเดฒเดพเดตเตผเดเตเดเตเด เดนเดพเดฏเต! เดตเตเดฏเดคเตเดฏเดธเตเดค เดชเตเดฐเตเดเดเตเดฑเตเดฑเตเดเดณเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดฎเตเดชเตเตพ เดเดพเดจเตเด เดเดจเตเดฑเต เดธเดนเดชเตเดฐเดตเตผเดคเตเดคเดเดฐเตเด เดตเดณเดฐเตเดเตเดเดพเดฒเดฎเดพเดฏเดฟ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจ เดฎเดฟเดเดเตเด เดธเดฎเตเดชเตเดฐเดฆเดพเดฏเดเตเดเดณเตเดเต เดเดฐเต เดถเตเดเดฐเดฎเดพเดฃเต เด เดฒเตเดเดจเด.
เดเดฃเดเตเดเตเดเตเดเตเดเดฒเตเดเตพ เดจเดเดคเตเดคเดฟเดฏ เดฏเดจเตเดคเตเดฐเดคเตเดคเตเดเตเดเตเดฑเดฟเดเตเดเตเดณเตเดณ เดตเดฟเดตเดฐเดเตเดเตพ:BenchmarkDotNet=v0.11.5, OS=Windows 10.0.18362
เดเดจเตเดฑเตฝ เดเตเตผ i5-8250U CPU 1.60GHz (Kaby Lake R), 1 CPU, 8 เดฒเตเดเดฟเดเตเดเตฝ, 4 เดซเดฟเดธเดฟเดเตเดเตฝ เดเตเดฑเตเดเตพ
.NET เดเตเตผ SDK=3.0.100
[เดนเตเดธเตเดฑเตเดฑเต]: .NET เดเตเตผ 2.2.7 (CoreCLR 4.6.28008.02, CoreFX 4.6.28008.03), 64bit RyuJIT
เดเตเตผ: .NET เดเตเตผ 2.2.7 (CoreCLR 4.6.28008.02, CoreFX 4.6.28008.03), 64bit RyuJIT
[เดนเตเดธเตเดฑเตเดฑเต]: .NET เดเตเตผ 3.0.0 (CoreCLR 4.700.19.46205, CoreFX 4.700.19.46214), 64bit RyuJIT
เดเตเตผ: .NET เดเตเตผ 3.0.0 (CoreCLR 4.700.19.46205, CoreFX 4.700.19.46214), 64bit RyuJIT
เดเตเดฒเดฟ=เดเตเตผ เดฑเตบเดเตเด=เดเตเตผ
ToList vs ToArray เดเตปเดกเต เดธเตเดเตเดเดฟเดณเตเดเตพ
.NET Core 3.0 เดจเตเดฑเต เดฑเดฟเดฒเตเดธเดฟเดฒเตเดเต เด เดตเดฟเดตเดฐเดเตเดเตพ เดคเดฏเตเดฏเดพเดฑเดพเดเตเดเดพเตป เดเดพเตป เดชเดฆเตเดงเดคเดฟเดฏเดฟเดเตเดเดฟเดฐเตเดจเตเดจเต, เดชเดเตเดทเต เด
เดตเตผ เดเดจเตเดจเต เดคเตเตฝเดชเตเดชเดฟเดเตเดเต, เดฎเดฑเตเดฑเตเดฐเดพเดณเตเดเต เดฎเดนเดคเตเดตเด เดฎเตเดทเตเดเดฟเดเตเดเดพเดจเตเด เดฎเดฑเตเดฑเตเดณเตเดณเดตเดฐเตเดเต เดตเดฟเดตเดฐเดเตเดเตพ เดชเดเตผเดคเตเดคเดพเดจเตเด เดเดพเตป เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจเดฟเดฒเตเดฒ, เด
เดคเดฟเดจเดพเตฝ เดเดพเตป เดเตเดฃเตเดเดฟเดเตเดเดพเดฃเดฟเดเตเดเดพเด
เดเดจเตเดฑเต เดชเตเดฐเดฟเตฝ, เดเดจเตเดฑเต เด เดณเดตเตเดเดณเตเด เดซเดฒเดเตเดเดณเตเด เดจเดฟเดเตเดเตพเดเตเดเต เด เดตเดคเดฐเดฟเดชเตเดชเดฟเดเตเดเดพเตป เดเดพเตป เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจเต; "C++ เดถเตเดฒเดฟ" เดเดดเตเดคเตเดคเต เดฒเตเดชเตเดชเตเดเตพ เดเดทเตเดเดชเตเดชเตเดเตเดจเตเดจเดตเตผเดเตเดเดพเดฏเดฟ เดเดพเตป เด เดตเดฏเดฟเตฝ เดฑเดฟเดตเตเดดเตเดธเต เดฒเตเดชเตเดชเตเดเตพ เดเตเตผเดคเตเดคเต.
เดเตเดพเดกเต:
public class Bench
{
private List<int> _list;
private int[] _array;
[Params(100000, 10000000)] public int N;
[GlobalSetup]
public void Setup()
{
const int MIN = 1;
const int MAX = 10;
Random random = new Random();
_list = Enumerable.Repeat(0, N).Select(i => random.Next(MIN, MAX)).ToList();
_array = _list.ToArray();
}
[Benchmark]
public int ForList()
{
int total = 0;
for (int i = 0; i < _list.Count; i++)
{
total += _list[i];
}
return total;
}
[Benchmark]
public int ForListFromEnd()
{
int total = 0;t
for (int i = _list.Count-1; i > 0; i--)
{
total += _list[i];
}
return total;
}
[Benchmark]
public int ForeachList()
{
int total = 0;
foreach (int i in _list)
{
total += i;
}
return total;
}
[Benchmark]
public int ForeachArray()
{
int total = 0;
foreach (int i in _array)
{
total += i;
}
return total;
}
[Benchmark]
public int ForArray()
{
int total = 0;
for (int i = 0; i < _array.Length; i++)
{
total += _array[i];
}
return total;
}
[Benchmark]
public int ForArrayFromEnd()
{
int total = 0;
for (int i = _array.Length-1; i > 0; i--)
{
total += _array[i];
}
return total;
}
}
.NET เดเตเตผ 2.2, 3.0 เดเดจเตเดจเดฟเดตเดฏเดฟเดฒเต เดชเตเดฐเดเดเดจ เดตเตเดเดค เดเดคเดพเดฃเตเดเต เดธเดฎเดพเดจเดฎเดพเดฃเต. .NET Core 3.0-เตฝ เดเดจเดฟเดเตเดเต เดจเตเดเดพเตป เดเดดเดฟเดเตเดเดคเต เดเดคเดพ:
เดเดฐเต เด
เดฑเต เดถเตเดเดฐเดคเตเดคเดฟเดจเตเดฑเต เดเดตเตผเดคเตเดคเดจ เดชเตเดฐเตเดธเดธเตเดธเดฟเดเดเต เด
เดคเดฟเดจเตเดฑเต เดเดจเตเดคเดฐเดฟเด เดเดชเตเดฑเตเดฑเดฟเดฎเตเดธเตเดทเดจเตเดเดณเตเด เดตเตเดฏเดเตเดคเดฎเดพเดฏ เดเดณเดเตเดทเตป เดธเตเดธเต เด
เดฒเตเดเตเดเตเดทเดจเตเด เดเดพเดฐเดฃเด เดตเตเดเดคเตเดคเดฟเดฒเดพเดฃเตเดจเตเดจเต เดจเดฎเตเดเตเดเต เดจเดฟเดเดฎเดจเด เดเตเดฏเตเดฏเดพเด. เดเดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดถเตเดเดฐเดคเตเดคเดฟเดจเต เด
เดคเดฟเดจเตเดฑเตเดคเดพเดฏ เดเตเดฃเดเตเดเดณเตเดฃเตเดเตเดจเตเดจเตเด เดเดตเดถเตเดฏเดฎเดพเดฏ เดเดฃเดเตเดเตเดเตเดเตเดเดฒเตเดเดณเต เดเดถเตเดฐเดฏเดฟเดเตเดเต เดจเดฟเดเตเดเตพ เดถเดฐเดฟเดฏเดพเดฏ เดถเตเดเดฐเด เดเดชเดฏเตเดเดฟเดเตเดเดฃเดฎเตเดจเตเดจเตเด เดเตผเดฎเตเดฎเดฟเดเตเดเตเดฃเตเดเดคเดพเดฃเต. เดฒเตเดชเตเดชเตเดเดณเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดจเดฟเดเตเดเตพ เดฒเตเดเดฟเดเต เดเดดเตเดคเดฟเดฏเดพเดฒเตเด, เดเดคเตเดฐเต เดธเดพเดงเดพเดฐเดฃ เดฒเตเดชเตเดชเดพเดฃเตเดจเตเดจเตเด เดเดคเต เดธเดพเดงเตเดฏเดฎเดพเดฏ เดฒเตเดชเตเดชเต เดเดชเตเดฑเตเดฑเดฟเดฎเตเดธเตเดทเดจเต เดตเดฟเดงเตเดฏเดฎเดพเดฃเตเดจเตเดจเตเด เดฎเดฑเดเตเดเดฐเตเดคเต. เดตเดณเดฐเตเดเตเดเดพเดฒเด เดฎเตเดฎเตเดชเต เดนเดฌเดฑเดฟเตฝ เดเดฐเต เดฒเตเดเดจเด เดชเตเดฐเดธเดฟเดฆเตเดงเตเดเดฐเดฟเดเตเดเต:
เดเดฑเดฟเดฏเตเด
เดเดฐเต เดตเตผเดทเด เดฎเตเดฎเตเดชเต, เดเดพเตป เดเดฐเต เดฒเตเดเดธเดฟ เดชเตเดฐเตเดเดเตเดฑเตเดฑเดฟเตฝ เดเดฐเต เดเดฎเตเดชเดจเดฟเดฏเดฟเตฝ เดเตเดฒเดฟ เดเตเดฏเตเดคเต, เด เดชเตเดฐเตเดเดเตเดฑเตเดฑเดฟเตฝ เดเดฐเต เดเตเดฐเต-เดเตเดฏเดพเดเตเดเต-เดคเตเดฐเต เดจเดฟเตผเดฎเตเดฎเดพเดฃเดคเตเดคเดฟเดฒเตเดเต เดซเตเตฝเดกเต เดฎเตเดฒเตเดฏเดจเดฟเตผเดฃเตเดฃเดฏเด เดชเตเดฐเตเดธเดธเตเดธเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเต เดธเดพเดงเดพเดฐเดฃเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต. เดเดคเต เดชเตเดฐเตเดเดเตเดฑเตเดฑเดฟเดจเต เด เดจเดพเดฐเตเดเตเดฏเดเดฐเดฎเดพเดฏ เดฌเดฟเดธเดฟเดจเดธเตเดธเต เดฏเตเดเตเดคเดฟเดฏเดพเดฃเตเดจเตเดจเต เดเดพเตป เดเดคเดฟเดจเดเด เดฎเดจเดธเตเดธเดฟเดฒเดพเดเตเดเดฟเดฏเดฟเดฐเตเดจเตเดจเต, เด เดคเดฟเดจเดพเตฝ เดธเดพเดงเตเดฏเดฎเดพเดเตเดฎเตเดชเตเดดเตเดฒเตเดฒเดพเด เด เดคเตเดคเดฐเดฎเตเดฐเต เดกเดฟเดธเตเตป เดเดชเดฏเตเดเดฟเดเตเดเดพเดคเดฟเดฐเดฟเดเตเดเดพเตป เดเดพเตป เดถเตเดฐเดฎเดฟเดเตเดเต. เดเดจเตเดจเดพเตฝ เด เดคเตเดคเดฐเดฎเตเดฐเต เดจเดฟเตผเดฎเตเดฎเดพเดฃเดคเตเดคเตเดเตเดชเตเดชเด เดชเดฟเดถเดเตเดเตพ เดเตเดเดพเดฐเตเดฏเด เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดธเดฎเตเดชเดจเด เดฎเตเดถเดฎเดพเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจเดคเต เดเดจเตเดคเตเดเตเดฃเตเดเดพเดฃเตเดจเตเดจเต เดจเดฎเตเดเตเดเต เดเดฃเตเดเตเดคเตเดคเดพเด. เดฐเดฃเตเดเต เดธเดฎเตเดชเดจเดเตเดเดณเตเด เดคเดพเดฐเดคเดฎเตเดฏเด เดเตเดฏเตเดฏเดพเตป เดเดพเตป เดเดฐเต เดเตเดฑเดฟเดฏ เดเตเดกเต เดเดดเตเดคเตเดเดฏเตเด เดเดฐเต เดเดชเตเดทเดจเตเด เดฌเตเดเตเดเตเดฎเดพเตผเดเตเดเตเดเตพ เดเดฃเตเดเดพเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดคเต.
เดเตเดพเดกเต:
public bool ContainsHash()
{
bool result = false;
foreach (var file in _files)
{
var extension = Path.GetExtension(file);
if (_hash.Contains(extension))
result = true;
}
return result;
}
public bool ContainsHashTryCatch()
{
bool result = false;
try
{
foreach (var file in _files)
{
var extension = Path.GetExtension(file);
if (_hash.Contains(extension))
result = true;
}
if(!result)
throw new Exception("false");
}
catch (Exception e)
{
result = false;
}
return result;
}
.NET Core 3.0, Core 2.2 เดเดจเตเดจเดฟเดตเดฏเดฟเดฒเต เดซเดฒเดเตเดเตพเดเตเดเต เดธเดฎเดพเดจเดฎเดพเดฏ เดซเดฒเดฎเตเดฃเตเดเต (.NET Core 3.0):
เดเตเดฏเดพเดเตเดเต เดถเตเดฐเดฎเดฟเดเตเดเต, เดเตเดกเต เดฎเดจเดธเตเดธเดฟเดฒเดพเดเตเดเดพเตป เดฌเตเดฆเตเดงเดฟเดฎเตเดเตเดเตเดณเตเดณเดคเดพเดเตเดเตเดเดฏเตเด เดจเดฟเดเตเดเดณเตเดเต เดชเตเดฐเตเดเตเดฐเดพเดฎเดฟเดจเตเดฑเต เดเดเตเดธเดฟเดเตเดฏเตเดทเตป เดธเดฎเดฏเด เดตเตผเดฆเตเดงเดฟเดชเตเดชเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต. เดเดจเตเดจเดพเตฝ เดจเดฟเดเตเดเตพเดเตเดเต เด เดจเดฟเตผเดฎเตเดฎเดพเดฃเด เดเดตเดถเตเดฏเดฎเดพเดฃเตเดเตเดเดฟเตฝ, เดชเดฟเดถเดเตเดเตพ เดเตเดเดพเดฐเตเดฏเด เดเตเดฏเตเดฏเตเดฎเตเดจเตเดจเต เดชเตเดฐเดคเตเดเตเดทเดฟเดเตเดเดพเดคเตเดค เดเตเดกเดฟเดจเตเดฑเต เดตเดฐเดฟเดเตพ เดจเดฟเดเตเดเตพ เดเตเตผเดเตเดเดฐเตเดคเต - เดเดคเต เดเตเดกเต เดฎเดจเดธเตเดธเดฟเดฒเดพเดเตเดเตเดจเตเดจเดคเต เดเดณเตเดชเตเดชเดฎเดพเดเตเดเตเด. เดตเดพเดธเตเดคเดตเดคเตเดคเดฟเตฝ, เดเดดเดฟเดตเดพเดเตเดเดฒเตเดเตพ เดเตเดเดพเดฐเตเดฏเด เดเตเดฏเตเดฏเตเดจเตเดจเดคเต เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเต เดฒเตเดกเตเดเตเดฏเตเดฏเตเดจเตเดจเดคเต เด
เดฒเตเดฒ, เดชเดเดฐเด เดคเตเดฐเต เดชเตเดคเดฟเดฏ เดเดเตโเดธเตเดชเตเดทเตป เดจเดฟเตผเดฎเตเดฎเดพเดฃเดคเตเดคเดฟเดฒเตเดเต เดชเดฟเดถเดเตเดเตพ เดธเตเดตเดฏเด เดเดฑเดฟเดฏเตเดจเตเดจเดคเดพเดฃเต.
เดเดดเดฟเดตเดพเดเตเดเดฒเตเดเตพ เดคเตเดฐเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเต เดเดฟเดฒ เดเตเดฒเดพเดธเตเดเดณเตเดเตเดเดพเตพ เดตเตเดเดค เดเตเดฑเดตเดพเดฃเต, เด เดคเต เดเดตเดถเตเดฏเดฎเดพเดฏ เดซเตเตผเดฎเดพเดฑเตเดฑเดฟเตฝ เดชเดฟเดถเดเต เดถเตเดเดฐเดฟเดเตเดเตเด. เดจเดฟเดเตเดเตพ เดเดฐเต เดซเตเดฎเต เดเตเดฑเดเตเดเต เดกเดพเดฑเตเดฑเดฏเต เดชเตเดฐเตเดธเดธเตเดธเต เดเตเดฏเตเดฏเตเดเดฏเดพเดฃเตเดเตเดเดฟเตฝ, เดชเดฟเดถเดเต เดเดจเตเดคเดพเดฏเดฟเดฐเดฟเดเตเดเดฃเดฎเตเดจเตเดจเต เดจเดฟเดเตเดเตพเดเตเดเต เดตเตเดฏเดเตเดคเดฎเดพเดฏเดฟ เด เดฑเดฟเดฏเดพเดฎเตเดเตเดเดฟเตฝ, เดเดจเตเดคเตเดเตเดฃเตเดเต เด เดคเต เดชเตเดฐเตเดธเดธเตเดธเต เดเตเดฏเตเดคเตเดเตเดเดพ?
เด เดธเดพเดนเดเดฐเตเดฏเด เด เดธเดพเดงเดพเดฐเดฃเดฎเดฒเตเดฒเตเดเตเดเดฟเตฝ เดจเดฟเดเตเดเตพ เดเดฐเต เดคเตเดฐเต เดชเตเดคเดฟเดฏ เดเดดเดฟเดตเดพเดเตเดเตฝ() เดจเดฟเตผเดฎเตเดฎเดพเดฃเด เดเดดเตเดคเดฐเตเดคเต. เดเดฐเต เด เดชเดตเดพเดฆเด เดเตเดเดพเดฐเตเดฏเด เดเตเดฏเตเดฏเตเดจเตเดจเดคเตเด เดเดฑเดฟเดฏเตเดจเตเดจเดคเตเด เดตเดณเดฐเต เดเตเดฒเดตเตเดฑเดฟเดฏเดคเดพเดฃเต!!!
ToLower, ToLowerInvariant, Toupper, ToupperInvariant
.NET เดชเตเดฒเดพเดฑเตเดฑเตโเดซเตเดฎเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจ เดเดจเตเดฑเต 5 เดตเตผเดทเดคเตเดคเต เด เดจเตเดญเดตเดชเดฐเดฟเดเดฏเดคเตเดคเดฟเตฝ, เดธเตเดเตเดฐเดฟเดเดเต เดฎเดพเดเตเดเดฟเดเดเต เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจ เดจเดฟเดฐเดตเดงเดฟ เดชเตเดฐเตเดเดเตโเดฑเตเดฑเตเดเตพ เดเดพเตป เดเดฃเตเดเดฟเดเตเดเตเดฃเตเดเต. เดเดพเตป เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดเดฟเดคเตเดฐเดตเตเด เดเดฃเตเดเต: เดจเดฟเดฐเดตเดงเดฟ เดชเตเดฐเตเดเดเตโเดฑเตเดฑเตเดเดณเตเดณเตเดณ เดเดฐเต เดเดจเตเดฑเตผเดชเตเดฐเตเดธเต เดธเตเดฒเตเดฏเตเดทเตป เดเดฃเตเดเดพเดฏเดฟเดฐเตเดจเตเดจเต, เด เดตเดฏเดฟเตฝ เดเดฐเตเดจเตเดจเดฟเดจเตเด เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏ เดธเตเดเตเดฐเดฟเดเดเต เดคเดพเดฐเดคเดฎเตเดฏเดเตเดเตพ เดจเดเดคเตเดคเดฟ. เดเดจเตเดจเดพเตฝ เดเดจเตเดคเดพเดฃเต เดเดชเดฏเตเดเดฟเดเตเดเตเดฃเตเดเดคเต, เด เดคเต เดเดเตเดเดจเต เดเดเตเดเดฐเดฟเดเตเดเดพเด? เดฑเดฟเดเตเดเตผ เดเดดเตเดคเดฟเดฏ CLR เดตเดดเดฟ C# เดเดจเตเดจ เดชเตเดธเตเดคเดเดคเตเดคเดฟเตฝ, ToUpperInvariant() เดฐเตเดคเดฟ ToLowerInvariant() เดจเตเดเตเดเดพเตพ เดตเตเดเดคเดฏเตเดณเตเดณเดคเดพเดฃเตเดจเตเดจเต เดเดพเตป เดตเดฟเดตเดฐเด เดตเดพเดฏเดฟเดเตเดเต.
เดชเตเดธเตเดคเดเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดเดฆเตเดงเดฐเดฃเดฟ:
เดคเตเตผเดเตเดเดฏเดพเดฏเตเด, เดเดพเตป เด
เดคเต เดตเดฟเดถเตเดตเดธเดฟเดเตเดเดฟเดฒเตเดฒ, เดคเตเดเตผเดจเตเดจเต .NET เดซเตเดฐเตเดฏเดฟเดเดตเตผเดเตเดเดฟเตฝ เดเดฟเดฒ เดชเดฐเดฟเดถเตเดงเดจเดเตพ เดจเดเดคเตเดคเดพเตป เดคเตเดฐเตเดฎเดพเดจเดฟเดเตเดเต, เดซเดฒเด เดเดจเตเดจเต เดเตเดเตเดเดฟเดเตเดเต - 15%-เดคเตเดคเดฟเดฒเดงเดฟเดเด เดชเตเดฐเดเดเดจ เดตเตผเดฆเตเดงเดจเดตเต. เด
เดเตเดคเตเดค เดฆเดฟเดตเดธเด เดฐเดพเดตเดฟเดฒเต เดเตเดฒเดฟเดธเตเดฅเดฒเดคเตเดคเต เดเดคเตเดคเดฟเดฏเดชเตเดชเตเตพ, เดเดพเตป เด เด
เดณเดตเตเดเตพ เดเดจเตเดฑเต เดฎเตเดฒเตเดฆเตเดฏเตเดเดธเตเดฅเดฐเต เดเดพเดฃเดฟเดเตเดเตเดเดฏเตเด เด
เดตเตผเดเตเดเต เดธเตเดดเตเดธเต เดเตเดกเดฟเดฒเตเดเตเดเตเดณเตเดณ เดชเตเดฐเดตเตเดถเดจเด เดจเตฝเดเตเดเดฏเตเด เดเตเดฏเตเดคเต. เดเดคเดฟเดจเตเดถเตเดทเด, เดชเตเดคเดฟเดฏ เด
เดณเดตเตเดเตพ เดเตพเดเตเดเตเดณเตเดณเตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ 2 เดชเตเดฐเตเดเดเตเดฑเตเดฑเตเดเดณเดฟเตฝ 14 เดเดฃเตเดฃเด เดฎเดพเดฑเตเดฑเดฟ, เดเตเดเดพเดคเต เด เดฐเดฃเตเดเต เดชเตเดฐเตเดเดเตเดฑเตเดฑเตเดเดณเตเด เดตเดฒเดฟเดฏ เดเดเตเดธเตฝ เดเตเดฌเดฟเดณเตเดเตพ เดชเตเดฐเตเดธเดธเตเดธเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต เดจเดฟเดฒเดตเดฟเดฒเตเดฃเตเดเตเดจเตเดจเต เดเดฃเดเตเดเดฟเดฒเตเดเตเดเตเดเตเดฎเตเดชเตเตพ, เดซเดฒเด เดเตฝเดชเตเดชเดจเตเดจเดคเตเดคเดฟเดจเต เดชเตเดฐเดพเดงเดพเดจเตเดฏเดฎเตเดณเตเดณเดคเดฟเดฒเตเด เดเตเดเตเดคเดฒเดพเดฃเต.
.NET เดเตเดฑเดฟเดจเตเดฑเต เดตเตเดฏเดคเตเดฏเดธเตโเดค เดชเดคเดฟเดชเตเดชเตเดเตพเดเตเดเดพเดฏเตเดณเตเดณ เด เดณเดตเตเดเดณเตเด เดเดพเตป เดจเดฟเดเตเดเตพเดเตเดเดพเดฏเดฟ เด เดตเดคเดฐเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเต, เด เดคเตเดตเดดเดฟ เดจเดฟเดเตเดเตพเดเตเดเต เดเดฐเตเดฐเตเดคเตเดคเตผเดเตเดเตเด เดเดฑเตเดฑเดตเตเด เด เดจเตเดฏเตเดเตเดฏเดฎเดพเดฏ เดชเดฐเดฟเดนเดพเดฐเด เดคเดฟเดฐเดเตเดเตเดเตเดเตเดเดพเดจเดพเดเตเด. เดเดพเตป เดเตเดฒเดฟ เดเตเดฏเตเดฏเตเดจเตเดจ เดเดฎเตเดชเดจเดฟเดฏเดฟเตฝ เด เดคเต เดเตเตผเดเตเดเดพเตป เดเดพเตป เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจเต, เดธเตเดเตเดฐเดฟเดเดเตเดเตพ เดคเดพเดฐเดคเดฎเตเดฏเด เดเตเดฏเตเดฏเดพเตป เดเดเตเดเตพ ToUpper() เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต.
เดเตเดพเดกเต:
public const string defaultString = "VXTDuob5YhummuDq1PPXOHE4PbrRjYfBjcHdFs8UcKSAHOCGievbUItWhU3ovCmRALgdZUG1CB0sQ4iMj8Z1ZfkML2owvfkOKxBCoFUAN4VLd4I8ietmlsS5PtdQEn6zEgy1uCVZXiXuubd0xM5ONVZBqDu6nOVq1GQloEjeRN8jXrj0MVUexB9aIECs7caKGddpuut3";
[Benchmark]
public bool ToLower()
{
return defaultString.ToLower() == defaultString.ToLower();
}
[Benchmark]
public bool ToLowerInvariant()
{
return defaultString.ToLowerInvariant() == defaultString.ToLowerInvariant();
}
[Benchmark]
public bool ToUpper()
{
return defaultString.ToUpper() == defaultString.ToUpper();
}
[Benchmark]
public bool ToUpperInvariant()
{
return defaultString.ToUpperInvariant() == defaultString.ToUpperInvariant();
}
.NET เดเตเตผ 3.0-เตฝ, เด เดฐเตเดคเดฟเดเดณเดฟเตฝ เดเดฐเตเดจเตเดจเดฟเดจเตเดฑเตเดฏเตเด เดตเตผเดฆเตเดงเดจเดตเต ~x2 เดเดฃเต เดเตเดเดพเดคเต เด
เดตเดฏเตเดเตเดเดฟเดเดฏเดฟเดฒเตเดณเตเดณ เดจเดเดชเตเดชเดพเดเตเดเดฒเตเดเดณเต เดธเดจเตเดคเตเดฒเดฟเดคเดฎเดพเดเตเดเตเดจเตเดจเต.
เดเดฏเตผ เดเดเดชเตเดฒเตเดทเตป
เดเดจเตเดฑเต เด เดตเดธเดพเดจ เดฒเตเดเดจเดคเตเดคเดฟเตฝ เดเดพเตป เด เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเต เดธเดเดเตเดทเดฟเดชเตเดคเดฎเดพเดฏเดฟ เดตเดฟเดตเดฐเดฟเดเตเดเต, เดเดจเตเดฑเต เดตเดพเดเตเดเตเดเตพ เดถเดฐเดฟเดฏเดพเดเตเดเดพเดจเตเด เด เดจเตเดฌเดจเตเดงเดฎเดพเดฏเดฟ เดจเตฝเดเดพเดจเตเด เดเดพเตป เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจเต. เดฎเตพเดเตเดเดฟ-เดฒเตเดตเตฝ เดเดเดชเตเดฒเตเดทเตป เดจเดฟเดเตเดเดณเตเดเต เดชเดฐเดฟเดนเดพเดฐเดคเตเดคเดฟเดจเตเดฑเต เดเดฐเดเดญ เดธเดฎเดฏเด เดตเตเดเดคเตเดคเดฟเดฒเดพเดเตเดเตเดจเตเดจเต, เดเดจเตเดจเดพเตฝ เดจเดฟเดเตเดเดณเตเดเต เดเตเดกเดฟเดจเตเดฑเต เดญเดพเดเดเตเดเตพ เดชเดถเตเดเดพเดคเตเดคเดฒเดคเตเดคเดฟเตฝ เดเตเดเตเดคเตฝ เดเดชเตเดฑเตเดฑเดฟเดฎเตเดธเต เดเตเดฏเตเดค เดชเดคเดฟเดชเตเดชเดฟเดฒเตเดเตเดเต เดเดเดชเตเตฝ เดเตเดฏเตเดฏเดชเตเดชเตเดเตเดฎเตเดจเตเดจเต เดจเดฟเดเตเดเตพ เดคเตเดฏเดเดฟเดเตเดเตเดจเตเดจเต, เดเดคเต เดเดฐเต เดเตเดฑเดฟเดฏ เดเดตเตผเดนเตเดกเต เด เดตเดคเดฐเดฟเดชเตเดชเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเด. NET เดเตเตผ 3.0 เดจเตเดฑเต เดตเดฐเดตเตเดเต, เดเดฏเตผ เดเดเดชเตเดฒเตเดทเตป เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดทเดฎเดฎเดพเดเตเดเดฟเดฏ เดชเตเดฐเตเดเดเตเดฑเตเดฑเตเดเตพเดเตเดเตเดณเตเดณ เดฌเดฟเตฝเดกเต เดธเดฎเดฏเด เดเตเดฑเดฏเตเดเดฏเตเด เด เดธเดพเดเตเดเตเดคเดฟเดเดตเดฟเดฆเตเดฏเดฏเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเตเดเตเด เดฌเดเตเดเตพ เดชเดฐเดฟเดนเดฐเดฟเดเตเดเดชเตเดชเตเดเตเดเดฏเตเด เดเตเดฏเตเดคเต. เดฎเตเดฎเตเดชเต, เด เดธเดพเดเตเดเตเดคเดฟเดเดตเดฟเดฆเตเดฏ ASP.NET เดเตเดฑเดฟเดฒเต เดเดฆเตเดฏ เด เดญเตเดฏเตผเดคเตเดฅเดจเดเดณเดฟเตฝ เดชเดฟเดถเดเตเดเตพเดเตเดเต เดเดพเดฐเดฃเดฎเดพเดตเตเดเดฏเตเด เดฎเตพเดเตเดเดฟ-เดฒเตเดตเตฝ เดเดเดชเตเดฒเตเดทเตป เดฎเตเดกเดฟเดฒเต เดเดฆเตเดฏ เดฌเดฟเตฝเดกเต เดธเดฎเดฏเดคเตเดคเต เดซเตเดฐเตเดธเตเดเตเดฏเตเดฏเตเดเดฏเตเด เดเตเดฏเตเดคเต. เดเดคเต เดจเดฟเดฒเดตเดฟเตฝ .NET เดเตเตผ 3.0-เตฝ เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดทเดฎเดฎเดพเดเตเดเดฟเดฏเดฟเดเตเดเตเดฃเตเดเต, เดเดจเตเดจเดพเตฝ เดจเดฟเดเตเดเตพเดเตเดเต เดตเตเดฃเดฎเตเดเตเดเดฟเตฝ เดเดคเต เดชเตเดฐเดตเตผเดคเตเดคเดจเดฐเดนเดฟเดคเดฎเดพเดเตเดเดพเด. เดจเดฟเดเตเดเตพ เดเตเด-เดฒเตเดกเต, เดธเตเดจเดฟเดฏเตผ, เดฎเดฟเดกเดฟเตฝ เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดจเดฟเดเตเดเตพ เดเดฐเต เดตเดเตเดชเตเดชเดฟเดจเตเดฑเต เดคเดฒเดตเดจเดพเดฃเตเดเตเดเดฟเตฝ, เดฆเตเดฐเตเดคเดเดคเดฟเดฏเดฟเดฒเตเดณเตเดณ เดชเตเดฐเตเดเดเตเดฑเตเดฑเต เดตเดฟเดเดธเดจเด เดเตเดฎเดฟเดจเตเดฑเต เดฎเตเดฒเตเดฏเด เดตเตผเดฆเตเดงเดฟเดชเตเดชเดฟเดเตเดเตเดฎเตเดจเตเดจเตเด เด เดธเดพเดเตเดเตเดคเดฟเดเดตเดฟเดฆเตเดฏ เดฐเดฃเตเดเต เดกเตเดตเดฒเดชเตเดชเตผเดฎเดพเตผเดเตเดเตเด เดธเดฎเดฏเด เดฒเดพเดญเดฟเดเตเดเดพเตป เดจเดฟเดเตเดเดณเต เด เดจเตเดตเดฆเดฟเดเตเดเตเดฎเตเดจเตเดจเตเด เดจเดฟเดเตเดเตพ เดฎเดจเดธเตเดธเดฟเดฒเดพเดเตเดเดฃเด. เดชเดฆเตเดงเดคเดฟเดฏเตเดเต เดธเดฎเดฏเดตเตเด.
.NET เดฒเตเดตเตฝ เด เดชเตเดชเต
เดจเดฟเดเตเดเดณเตเดเต .NET เดซเตเดฐเตเดฏเดฟเดเดตเตผเดเตเดเต / .NET เดเตเตผ เดชเดคเดฟเดชเตเดชเต เดจเดตเตเดเดฐเดฟเดเตเดเตเด. เดชเดฒเดชเตเดชเตเดดเตเด, เดเดฐเต เดชเตเดคเดฟเดฏ เดชเดคเดฟเดชเตเดชเตเด เด เดงเดฟเด เดชเตเดฐเดเดเดจ เดจเตเดเตเดเดเตเดเตพ เดจเตฝเดเตเดเดฏเตเด เดชเตเดคเดฟเดฏ เดธเดตเดฟเดถเตเดทเดคเดเตพ เดเตเตผเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต.
เดเดจเตเดจเดพเตฝ เดเตเดคเตเดฏเดฎเดพเดฏเดฟ เดเดจเตเดคเดพเดฃเต เดชเตเดฐเดฏเตเดเดจเดเตเดเตพ? เด เดตเดฏเดฟเตฝ เดเดฟเดฒเดคเต เดจเตเดเตเดเดพเด:
- .NET เดเตเตผ 3.0 R2R เดเดฎเตเดเตเดเตพ เด เดตเดคเดฐเดฟเดชเตเดชเดฟเดเตเดเต, เด เดคเต .NET เดเตเตผ เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเดเดณเตเดเต เดเดฐเดเดญ เดธเดฎเดฏเด เดเตเดฑเดฏเตเดเตเดเตเด.
- เดชเดคเดฟเดชเตเดชเต 2.2 เดเดชเดฏเตเดเดฟเดเตเดเต, เดเดฏเตผ เดเดเดชเตเดฒเตเดทเตป เดชเตเดฐเดคเตเดฏเดเตเดทเดชเตเดชเตเดเตเดเต, เดเดคเดฟเดจเต เดจเดจเตเดฆเดฟ, เดชเตเดฐเตเดเตเดฐเดพเดฎเตผเดฎเดพเตผ เดเดฐเต เดชเตเดฐเตเดเดเตเดฑเตเดฑเต เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดเตเดฑเดเตเดเต เดธเดฎเดฏเด เดเตเดฒเดตเดดเดฟเดเตเดเตเด.
- เดชเตเดคเดฟเดฏ .NET เดฎเดพเดจเดฆเดฃเตเดกเดเตเดเตพเดเตเดเตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ.
- เดชเตเดฐเตเดเตเดฐเดพเดฎเดฟเดเดเต เดญเดพเดทเดฏเตเดเต เดชเตเดคเดฟเดฏ เดชเดคเดฟเดชเตเดชเดฟเดจเตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ.
- เดเดชเตเดฑเตเดฑเดฟเดฎเตเดธเตเดทเตป, เดเดฐเต เดชเตเดคเดฟเดฏ เดชเดคเดฟเดชเตเดชเดฟเดฒเตเด เด
เดเดฟเดธเตเดฅเดพเดจ เดฒเตเดฌเตเดฐเดฑเดฟเดเดณเตเดเต เดเดชเตเดฑเตเดฑเดฟเดฎเตเดธเตเดทเตป / เดธเตเดเตเดฐเดเตเดฑเตเดฑเต / เดธเตเดเตเดฐเตเด / เดธเตเดเตเดฐเดฟเดเดเต / เดฑเตเดเดเตเดธเต เดเดจเตเดจเดฟเดตเดฏเตเด เด
เดคเดฟเดฒเตเดฑเตเดฏเตเด เดฎเตเดเตเดเดชเตเดชเตเดเตเดจเตเดจเต. เดจเดฟเดเตเดเตพ .NET เดซเตเดฐเตเดฏเดฟเดเดตเตผเดเตเดเดฟเตฝ เดจเดฟเดจเตเดจเต .NET Core-เดฒเตเดเตเดเต เดฎเตเดเตเดฐเตเดฑเตเดฑเต เดเตเดฏเตเดฏเตเดเดฏเดพเดฃเตเดเตเดเดฟเตฝ, เดจเดฟเดเตเดเตพเดเตเดเต เดฌเตเดเตเดธเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดฐเต เดตเดฒเดฟเดฏ เดชเตเดฐเดเดเดจ เดฌเตเดธเตเดฑเตเดฑเต เดฒเดญเดฟเดเตเดเตเด. เดเดฐเต เดเดฆเดพเดนเดฐเดฃเดฎเดพเดฏเดฟ, .NET Core 3.0-เดฒเตเดเตเดเต เดเตเตผเดคเตเดคเดฟเดเตเดเตเดณเตเดณ เดเดฟเดฒ เดเดชเตเดฑเตเดฑเดฟเดฎเตเดธเตเดทเดจเตเดเดณเดฟเดฒเตเดเตเดเต เดเดพเตป เดเดฐเต เดฒเดฟเดเตเดเต เด
เดฑเตเดฑเดพเดเตเดเตเดเตเดฏเตเดฏเตเดจเตเดจเต:
https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-core-3-0/
เดคเตเดฐเตเดฎเดพเดจเด
เดเตเดกเต เดเดดเตเดคเตเดฎเตเดชเตเตพ, เดจเดฟเดเตเดเดณเตเดเต เดชเตเดฐเตเดเดเตเดฑเตเดฑเดฟเดจเตเดฑเต เดตเตเดฏเดคเตเดฏเดธเตโเดค เดตเดถเดเตเดเดณเดฟเตฝ เดถเตเดฐเดฆเตเดง เดเตเดฒเตเดคเตเดคเตเดเดฏเตเด เดฎเดฟเดเดเตเด เดซเดฒเด เดจเตเดเตเดจเตเดจเดคเดฟเดจเต เดจเดฟเดเตเดเดณเตเดเต เดชเตเดฐเตเดเตเดฐเดพเดฎเดฟเดเดเต เดญเดพเดทเดฏเตเดเตเดฏเตเด เดชเตเดฒเดพเดฑเตเดฑเตโเดซเตเดฎเดฟเดจเตเดฑเตเดฏเตเด เดธเดตเดฟเดถเตเดทเดคเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเดคเต เดฎเตเดฒเตเดฏเดตเดคเตเดคเดพเดฃเต. เดเดชเตเดฑเตเดฑเดฟเดฎเตเดธเตเดทเดจเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเตเดเตเด เดจเดฟเดเตเดเดณเตเดเต เด เดฑเดฟเดตเต .NET-เตฝ เดชเดเตเดเตเดตเตเดเตเดเตเดเดฏเดพเดฃเตเดเตเดเดฟเตฝ เดเดพเตป เดธเดจเตเดคเตเดทเดฟเดเตเดเตเดจเตเดจเต.
เด
เดตเดฒเดเดฌเด: www.habr.com