Size: a a a

AI Cups Official

2020 December 04

ЕС

Егор Сергеев... in AI Cups Official
black hole
А мне нужно каждый тик
Ну тогда указатель
источник

bh

black hole in AI Cups Official
Нам дают константный вектор, я не могу взять просто адрес (
источник

ЕС

Егор Сергеев... in AI Cups Official
black hole
Нам дают константный вектор, я не могу взять просто адрес (
Можно, но это будет const vector<...> *
источник

AA

Andrey A in AI Cups Official
вопрос: AutoAttack.validTargets сортированный по приоритетам или цели в случайном порядке будут атакованы?  спасибо...
источник

bh

black hole in AI Cups Official
Я смогу каждый тик давать ему новый указатель?
источник

ЕС

Егор Сергеев... in AI Cups Official
Конечно
источник

YK

Yevhen Kazmin in AI Cups Official
Alexander N
Просто для расширения кругозора, может кто-нибудь объяснить почему работа с int значительно быстрее чем с byte? Не первый раз уже замечаю, и вот сейчас синтетический тест тоже показывает. Какая-то особенность процессора?
процессору проще работать с интом
источник

bh

black hole in AI Cups Official
Спасибо
источник

ЕС

Егор Сергеев... in AI Cups Official
Yevhen Kazmin
процессору проще работать с интом
Не всегда
источник

AN

Alexander N in AI Cups Official
Yevhen Kazmin
процессору проще работать с интом
жаль. И судя по всему даже доступ к массиву байт тоже медленней чем к массиву интов.
источник

YK

Yevhen Kazmin in AI Cups Official
Егор Сергеев
Не всегда
ну не интом, а usize (32/64 бит)
источник

ЕС

Егор Сергеев... in AI Cups Official
Alexander N
жаль. И судя по всему даже доступ к массиву байт тоже медленней чем к массиву интов.
Так не должно быть, доступ как раз должен быть быстрый
источник

bh

black hole in AI Cups Official
Кстати, я помню тут обсуждали что лучше двумерный массив, или двумерный вектор. Сильно вообще скорость будет отличаться?
источник

ЕС

Егор Сергеев... in AI Cups Official
Yevhen Kazmin
ну не интом, а usize (32/64 бит)
Например на x86_64 умножение для 64-битных быстрее, а деление медленнее. Причем для 16 (или 8, не помню точно) бит умножние тоже быстре, чем для 32
источник

YK

Yevhen Kazmin in AI Cups Official
Alexander N
жаль. И судя по всему даже доступ к массиву байт тоже медленней чем к массиву интов.
судя по поиску в интернете, на хардварном уровне для инта (size_t, usize, IntPtr, зависит от языка) есть дополнительные инструкции
источник

ЕС

Егор Сергеев... in AI Cups Official
black hole
Кстати, я помню тут обсуждали что лучше двумерный массив, или двумерный вектор. Сильно вообще скорость будет отличаться?
В векторе нет локальности и приходится каждый раз брать указатель и переходить по нему. Я бы дал оценку замедления в 1.5-3 раза
источник

bh

black hole in AI Cups Official
Окей, главное не забыть удалить массив
источник

ЕС

Егор Сергеев... in AI Cups Official
Но это зависит от многих факторов
источник

YK

Yevhen Kazmin in AI Cups Official
black hole
Кстати, я помню тут обсуждали что лучше двумерный массив, или двумерный вектор. Сильно вообще скорость будет отличаться?
двумерный массив лежит в памяти подряд
источник

YK

Yevhen Kazmin in AI Cups Official
а векттор векторов - это вектор укзателей вроде как
источник