LINUX.ORG.RU

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

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

Ещё раз уточняю: академический подход хорош, безусловно, но дело в том, что это не статичный какой-то набор «лучших рецептов на все случаи жизни». Я более, чем уверен, что в передовых компаниях разработчиках-софта уже давно набор алгоритмов, которые они используют если и коррелирует с тем, что преподают в тех же российских ВУЗах или с тем, что написано в замечательных толстых книжках 40-ка летней давности, то разве что неким «логическим ядром» коррелирует. Т.е. идеи, безусловно, все те же, все эти «мыслетрюки» никуда не делись, но составляют они лишь малую часть как такового конечного алгоритма. А вот конечный алгоритм уже не просто учитывает возможности распаралеливания по ядрам, а делает это весьма агрессивно, по принципу «если твой алгоритм не умеет распараллеливаться, то, скорее всего он - Г**но». Мало того, если алгоритм сам по себе не параллелится - распараллеливается логика вычислений: массив данных делится на слайсы - и уже эти слайсы пихаются в параллельно выполняемые треды/процессы, реализующие тот самый последовательный алгоритм.

При это нужно заметить, что как таковое старое алгоритмическое ядро достаточно стабильно, и абсолютное большинство алгоритмов имеют свои библиотечные реализации под любой язык программирования. Большинство же новых алгоритмов - это как раз и есть адаптация старых под многопоточное исполнение.

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

Ещё раз уточняю: академический подход хорош, безусловно, но дело в том, что это не статичный какой-то набор «лучших рецептов на все случаи жизни». Я более, чем уверен, что в передовых компаниях разработчиках-софта уже давно набор алгоритмов, которые они используют если и коррелирует с тем, что преподают в тех же российских ВУЗах или с тем, что написано в замечательных толстых книжках 40-ка летней давности, то разве что неким «логическим ядром» коррелирует. Т.е. идеи, безусловно, все те же, все эти «мыслетрюки» никуда не делись, но составляют они лишь малую часть как такого конечного алгоритма. А вот конечный алгоритм уже не просто учитывает возможности распаралеливания по ядрам, а делает это весьма агрессивно, по принципу «если твой алгоритм не умеет распараллеливаться, то, скорее всего он - Г**но». Мало того, если алгоритм сам по себе не параллелится - распараллеливается логика вычислений: массив данных делится на слайсы - и уже эти слайсы пихаются в параллельно выполняемые треды/процессы, реализующие тот самый последовательный алгоритм.

При это нужно заметить, что как таковое старое алгоритмическое ядро достаточно стабильно, и абсолютное большинство алгоритмов имеют свои библиотечные реализации под любой язык программирования. Большинство же новых алгоритмов - это как раз и есть адаптация старых под многопоточное исполнение.

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

Ещё раз уточняю: академический подход хорош, безусловно, но дело в том, что это не статичный какой-то набор «лучших рецептов на все случаи жизни». Я более, чем уверен, что в передовых компаниях разработчиках-софта уже давно набор алгоритмов, которые они используют если и коррелирует с тем, что предподают в тех же российских ВУЗах или с тем, что написано в замечательных толстых книжках 40-ка летней давности, то разве что неким «логическим ядром» коррелирует. Т.е. идеи, безусловно, все те же, все эти «мыслетрюки» никуда не делись, но составляют они лишь малую часть как такого конечного алгоритма. А вот конечный алгоритм уже не просто учитывает возможности распаралеливания по ядрам, а делает это весьма агрессивно, по принципу «если твой алгоритм не умеет распараллеливаться, то, скорее всего он - Г**но». Мало того, если алгоритм сам по себе не параллелится - распараллеливается логика вычислений: массив данных делится на слайсы - и уже эти слайсы пихаются в параллельно выполняемые треды/процессы, реализующие тот самый последовательный алгоритм.

При это нужно заметить, что как таковое старое алгоритмическое ядро достаточно стабильно, и абсолютное большинство алгоритмов имеют свои библиотечные реализации под любой язык программирования. Большинство же новых алгоритмов - это как раз и есть адаптация старых под многопоточное исполнение.

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

Ещё раз уточняю: академический подход хорош, безусловно, но дело в том, что это не статичный какой-то набор «лучших рецептов на все случаи жизни». Я более, чем уверен, что в передовых компаниях разработчиках-софта уже давно набор алгоритмов, которые они используют если и коррелирует с тем, что предподают в тех же российских ВУЗах или с тем, что написано в замечательных толстых книжках 40-ка летней давности, то разве что неким «логическим ядром» коррелирует. Т.е. идеи, безусловно, все те же, все эти «мыслетрюки» никуда не делись, но составляют они лишь малую часть как такого конечного алгоритма. А вот конечный алгоритм уже не просто учитывает возможности распаралеливания по ядрам, я делает это весьма агрессивно. Мало того, если алгоритм сам по себе не параллелится - распараллеливается логика вычислений: массив данных делится на слайсы - и уже эти слайсы пихаются в параллельно выполняемые треды/процессы, реализующие тот самый последовательный алгоритм.

При это нужно заметить, что как таковое старое алгоритмическое ядро достаточно стабильно, и абсолютное большинство алгоритмов имеют свои библиотечные реализации под любой язык программирования. Большинство же новых алгоритмов - это как раз и есть адаптация старых под многопоточное исполнение.