Re[2]: Что наиболее быстро развивается? Замедлились ли телеф
От: vdimas Россия  
Дата: 01.03.24 05:27
Оценка: +1 :)
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Голосование по эффективности и расходам ресурсов

PD>https://rsdn.org/poll/9966
Автор: Pavel Dvorkin
Дата: 23.02.24
Вопрос: Надо обработать большой массив по не совсем тривиальному алгоритму. Можно создать его копию, можно и не создавать. На написание кода с копией уйдет час Вашего времени, без копии — 4 часа. Что предпочтете ?


Просто из своего опыта построения числодробилок.

— Организуется конвейер.

— Массивы выделяются предварительно и в процессе вычислений затем не выделяются и не освобождаются.

— При межпоточной передаче работает что-то вроде круговой очереди указателей на такие массивы.

— Перекладывать данные при расчётах в новое место или делать их inplace зависит сугубо от характера вычислений и ни от чего более. Например, преобразование блока сигнала, представленного int32, во float32 можно и нужно делать только inplace, иначе попахивает профнепригодностью.

— Рассуждения Синклера про "гарантии" и прочее можно смело в dev/null, бо инкапсуляцию данных модулей/объектов еще никто не отменял. Способы владения (и передачи владения) блоков данных подчиняются исключительно и только алгоритмам, их обрабатывающим, а не внутренним взглядам и жизненным принципам особо упрямых коллег. ))
Отредактировано 01.03.2024 5:28 vdimas . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.