Pull to refresh
0
0

.NET/C++/Embedded Developer

Send message
Время работы этих циклов отличается ровно в 2 раза, потому что тело цикла с константой 19993 исполнится 4294967296 раз, а с константой 11 — 2147483648 раз.
Ваш бенчмарк сильно зависит от работы предсказателя переходов. Попробуйте в качестве аргументов тестируемых функций передавать псевдослучайные числа вместо инкрементируемого числа и результаты будут немного другие.

Я использовал такой генератор:
inline unsigned int fastrand() {
return g_seed = (214013 * g_seed + 2531011);
}

Табличка:
Intel Core i7-3632QM @2.20GHz
Visual C++ 2015
Опции: /Ox

sign: 19.09 vs 5.79
abs: 16.64 vs 4.72
mini: 11.05 vs 12.95
maxi: 11.06 vs 13.18
minu: 10.97 vs 13.75
maxu: 11.07 vs 13.62
Ошибаетесь, не все. Драйвера — часто при разработке WDM драйверов используется C++. «Рантаймы языков» — .NET CLR и Oracle JVM написаны на C++.
Даже в embedded все чаще используют C++.

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Registered
Activity