2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2
 
 Re: Избегание циклов
Сообщение25.01.2023, 14:19 


10/03/16
3855
Aeroport
warlock66613 в сообщении #1578712 писал(а):
Тогда хорошим способом будет сделать свою особую функцию с осмысленным названием, принимающую функцию-действие, и вот в этой функции будет цикл, а в местах, где она используется, — не будет.

С этим согласен

P.S. А можете пояснить, почему для итерирования важна мутабельность/иммутабельность? Я чего-то совсем не втыкаю :-(

 Профиль  
                  
 
 Re: Избегание циклов
Сообщение25.01.2023, 14:22 
Заслуженный участник


02/08/11
6874
ozheredov в сообщении #1578711 писал(а):
Потому что действия по сути одни и те же.
Нет, не одни и те же, что ярко видно когда мы пытаемся их распараллеливать или иначе оптимизировать или возникают иные дополнительные осложнения.

 Профиль  
                  
 
 Re: Избегание циклов
Сообщение25.01.2023, 14:31 


10/03/16
3855
Aeroport
warlock66613 в сообщении #1578716 писал(а):
распараллеливать

Аааа, кстати вот тут может быть собака зарыта. В matlab'e естьт.н. parallel for, у которого куча особенностей.

 Профиль  
                  
 
 Re: Избегание циклов
Сообщение25.01.2023, 14:33 
Заслуженный участник


02/08/11
6874
ozheredov в сообщении #1578714 писал(а):
почему для итерирования важна мутабельность/иммутабельность?
Она важна не для итерирования. Просто вообще весь этот подход, все эти идеи пришли из функционального программирования, где ключевая идея — это иммутабельность. И если пытаться совместить разнородные вещи (код с мутабельными объектами и инспирированные функциональным программированием способы написания кода) ничего хорошего не получится. Отступления и компромиссы возможны (метод ForEach очевидно такого рода), но нужно быть аккуратным. Правда Rust в этом плане пошёл дальше, и там этой проблемы нет, но за счёт совершенно особого подхода к мутабельности, которого пока нет больше ни в одном ЯП.

 Профиль  
                  
 
 Re: Избегание циклов
Сообщение25.01.2023, 14:35 
Заслуженный участник
Аватара пользователя


16/07/14
8344
Цюрих
ozheredov в сообщении #1578707 писал(а):
есть дескать в Matlab'e перегруженный оператор *, и перемножение матриц с ним работает быстрее, чем двойной цикл
Я сильно подозреваю, что
1. Матлаб скриптовый, соответственно любой код в нём вне библиотечных функций работает в разы медленнее, чем можно.
2. Перемножение матриц в библиотеке сильно оптимизировано - это та задача, где наивные три вложенных цикла можно обогнать в несколько десятков раз, если писать код с учетом реальной архитектуры.
Правда я подозреваю, что наивные три цикла обгонят любое функциональное украшательство, если оно не будет подперто специальными костылями под эту конкретную задачу.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу Пред.  1, 2

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group