LINUX.ORG.RU

История изменений

Исправление Nervous, (текущая версия) :

что immutable data structure и software transaction memory в данном случае ни разу не помогают и только мешаются меня огорчило

Просто выжимание последних соков из железа — не та задача, для решения которой они предназначены. Они предназначены для разрешения проблем, создаваемых shared mutable state, особенно в многопоточных средах — гонки данных, дедлоки и всё такое.

Immutable data structures делают из shared mutable state просто shared state и одним этим полностью исключают огромный шмат проблем; управление изменением состояния без явных блокировок — atoms, refs (где требуется координация изменения нескольких кусков shared state — собственно STM), agents для асинхронных изменений, — исключают другой немаленький шмат проблем.

У нас тут нет вообще никакого shared state, даже многопоточные реализации не используют никаких общих (между потоками) данных, каждый поток работает со своим куском.

Исправление Nervous, :

что immutable data structure и software transaction memory в данном случае ни разу не помогают и только мешаются меня огорчило

Просто выжимание последних соков из железа — не та задача, для решения которой они предназначены. Они предназначены для разрешения проблем, создаваемых shared mutable state, особенно в многопоточных средах — гонки данных, дедлоки и всё такое.

Immutable data structures делают из shared mutable state просто shared state и одним этим полностью исключают огромный шмат проблем; управление изменением состояния без явных блокировок — atoms, refs (где требуется координация изменения нескольких кусков shared state — собственно STM), agents для асинхронных изменений, — исключают другой немаленький шмат проблем.

У нас тут нет вообще никакого shared state, даже многопоточные реализации не используют никаких общих (между потоками) данных.

Исходная версия Nervous, :

что immutable data structure и software transaction memory в данном случае ни разу не помогают и только мешаются меня огорчило

Просто выжимание последних соков из железа — не та задача, для решения которой они предназначены. Они предназначены для разрешения проблем, создаваемых shared mutable state, особенно в многопоточных средах — гонки данных, дедлоки и всё такое.

Immutable data structures делают из shared mutable state просто shared state и одним этим полностью исключают огромный шмат проблем; управление изменением состояния без явных блокировок — atoms, refs (где требуется координация изменения нескольких кусков shared state — собственно STM), agents для асинхронных изменений, — исключают другой немаленький шмат проблем.