Есть идеи в чем проблема? Неужели системные функции не инлайнятся?
class Program
{
const int i = 200000000;
static void Main()
{
Console.Write("TestString: ");
var s = Console.ReadLine();
bool _;
var sw = Stopwatch.StartNew();
for (var j = 0; j < i; j
(
Read more... )
Comments 10
2) Инлайнятся или нет - остановите дебаггером и посмотрите disassembly.
Reply
медленнее второй вариант у меня получался на ~30% (700/900)
Reply
(The comment has been removed)
а где можно это настроить? Думаю это было бы интересно для подобных наблюдений за JIT.
Reply
Reply
class Program {
const int MAX = 200000000;
public static int c;
static void Main() {
Console.Write("TestString: ");
var s = Console.ReadLine();
bool _;
var sw = Stopwatch.StartNew();
for (int i = 0; i < MAX; i++) {
_ = s == null || s.Length == 0;
c += _ ? 1 : 0;
}
Console.WriteLine(sw.ElapsedMilliseconds);
sw = Stopwatch.StartNew();
for (int i = 0; i < MAX; i++) {
_ = string.IsNullOrEmpty(s);
c += _ ? 1 : 0;
}
Console.WriteLine(sw.ElapsedMilliseconds);
sw = Stopwatch.StartNew();
for (int i = 0; i < MAX; i++) {
_ = IsNullOrEmpty(s);
c += _ ? 1 : 0;
}
Console.WriteLine(sw.ElapsedMilliseconds);
sw = Stopwatch.StartNew();
for (int i = 0; i < MAX; i ( ... )
Reply
asp.net 2.0:
первый
1 : True, 1372
2 : True, 1534
второй раз
1 : True, 1310
2 : True, 1580
Reply
(The comment has been removed)
>> интересоваться сколько все-таки прошло времени;
не обязательно
Reply
(The comment has been removed)
(The comment has been removed)
Всегда завидовала творческим людям... Когда нибудь и я научусь...
Буду очень признательна, если поможете мне победить в конкурсе красоты.
Победа в этом конкурсе ОЧЕНЬ много для меня значит! Заранее благодарна всем, кто откликнется на мою просьбу.
С Уважением, Олеся.
Reply
Leave a comment