170 похожих чатов

Как вот тут убрать баундчек? if (Mapping[index].Value != x) {

return -1;
}

return Mapping[index].Index;

Делаю

fixed (MappingEntry* p = Mapping)
{
if ((*(p + index)).Value != x)
{
return -1;
}

return (*(p + index)).Index;
}

и это работает на полнаносекунды медленнее

12 ответов

6 просмотров

Через промежуточную переменную?

George-Polevoy Автор вопроса

var tmp = Mapping[index]

George-Polevoy Автор вопроса
Alexey Tkachenko
var tmp = Mapping[index]

Медленнее работает. Мне без копирования нужно сравнить поле из структуры, которая в массиве. Зачем мне копировать ее на стек?

George Polevoy
Медленнее работает. Мне без копирования нужно срав...

а если индекс формировать не дважды, а во временную переменную? оно, конечно, может быть оптимизировано, но лучше проверить.

George Polevoy
Медленнее работает. Мне без копирования нужно срав...

Если там у тебя именно массив, то можешь сделать var tmp = ref Mapping[index]

George Polevoy
Медленнее работает. Мне без копирования нужно срав...

Я сомневаюсь что оно будет скорректировано именно в стек. Если структура мелкая, то наверняка осядет в стеке.

George-Polevoy Автор вопроса
Alexey Tkachenko
Если там у тебя именно массив, то можешь сделать v...

вот это здравая мысль, ща попробую. Но вопрос остается - почему баундчек не убирается?

напиши где нить наверху var mapping = Mapping; var i = index; и дальше свой код. у тебя Mapping — поле (а может и index тоже), оно может поменяться, поэтому баунд чеков 2

George-Polevoy Автор вопроса
Ilya Chernoudov
напиши где нить наверху var mapping = Mapping; va...

Это помогло срезать 0.1 наносекунды

Похожие вопросы

Обсуждают сегодня

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
127
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
Привет всем. Не знаю, удачный ли чатик я выбрал для вопроса, но он как будто в целом про концепцию фп и конкретно про Haskell. Прочитал, что в целом в мире фп нет идеи мутабел...
Gellert Cringewald
15
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
Читаю сейчас [нет, уже больше не читаю!] курсовую о Булгакове, написанную, похоже, с помощью ChatGPT. Это удивительный психоделический опыт. Текст в основном написан в стиле б...
✨ Uni [🌊 В отпуске]
1
Всем привет! поделитесь, пож-та, как кто дебажил / решал проблему с 504 Time out ошибкой от nginx, когда стучишься на свой vapor сервер? в логах /var/log/nginx/error.log е...
Paul
24
Как добавить ссылку в Быстрый доступ в Проводнике windows 10? Нашёл, как на power shell сделать, но может есть способ через Дельфи?
А
31
Всем, привет! Подскажите, пожалуйста, самую лёгкую, быструю, лаконичную и адаптивную тему для WP? Бесплатно или чтобы можно было в РФ оплатить доступ к теме. Раньше брал на...
Евгений Грак
14
@helgispbru @Dreamer_0x01 @Pathologic93 @webber_12 Не уверен, что вам всем это жутко интересно, но в продолжение недавнего диалога отправлю свои наброски. Хочу понять, правил...
Андрей [aharito] Харитонов
13
а меня уроют или закопают если я сделаю ПЛИС на базе х86?
Vi Chapmann
11
Карта сайта