Здравствуйте, Разраб, Вы писали:
S>>https://rsdn.org/forum/flame.comp/8730466.1Автор: syrompe
Дата: 13.04 00:01
S>>https://rsdn.org/forum/flame.comp/8730474.1Автор: syrompe
Дата: 13.04 00:44
S>>говорит, что разница есть
Р>специально замерил сегодня под виндой
Р>локальную функцию
Р>делегат
Р>без фукции(с аот и без)
Р>по среднему никакой разницы между 1 и 2, небольшое ускорение во 3 но без заметной разницы с аот.
Р>инициализация порядка 0,010-0,020 мс
Р>т.е. все время уходит на сортировку.
Странно, что разное время у тебя и
syrompe разные результаты.
Такое возможно если данные упорядоченные изначально.
А они в твоем тесте упорядочены, но обратную сторону, то есть должна постоянно вызываться Swap
Странно, что нет разницы между делегатом и локальной функцией. То есть основное время уходит на сравнение.
А твой REAL точно соответствует double?
А атрибут не влияет?
[MethodImpl(MethodImplOptions.AggressiveInlining)]// можно попробовать. Хотя и так должен быть инлайнинг
void Swap(ref double x, ref double y)