История изменений
Исправление aist1, (текущая версия) :
Дело в том, что производительность на современном железе, как я уже говорил выше, – штука весьма контринтуитивная. Потому что зависит не столько от асимптотических оценок, сколько от самого паттерна доступа, формируемого доминирующим алгоритмом. А процесс этот весьма сложный и многофакторный. Его можно оседлать, но объем работы тут будет «весьма и весьма», а вот выигрыш по сравнению с дизайном по умолчанию, не так, чтобы драматический. Никаких «двух десятичных порядков». Хорошо, если 2-4х. И на практике весь вопрос сводится к тому, а стоит ли овчинка – выделки? Т.е. стоит ли выигрыш по скорости затрат на разработку и сопровождение? В текущей ситуации по индустрии – нет, не стоит. Блин, люди пишут бекенды на Питоне. На Питоне, Карл!
Есть отдельные случаи, когда простые дизайны перестают работать. Например, GC на современных объемах RAM. И тут хочешь-не-хочешь, а придется делать иначе, усложнять, арены, пулы, ARC/RC и т.д.
Я именно для этого и использую «дизайны на массивах», чтобы решить проблему больших объемов структурированных данных в RAM и внешней памяти. А не «для скорости». Массивы для скорости далеко не всегда хорошо, pointer chasing всё еще strong, пока мы сидим в кэшах. А кеши сейчас большие. И GC далеко не всегда плохо. Надо просто размер кучи держать ограниченным.
Исходная версия aist1, :
Дело в том, что производительность на современном железе, как я уже говорил выше, – штука весьма контринтуитивная. Потому что зависит не столько от асимптотических оценок, сколько от самого паттерна доступа, формируемого доминирующим алгоритмом. А процесс этот весьма сложный и многофакторный. Его можно оседлать, но объем работы тут будет «весьма и весьма», а вот выигрыш по сравнению с дизайном по умолчанию, не так, чтобы драматический. Никаких «двух десятичных порядков». Хорошо, если 2-4х. И на практике весь вопрос сводится к тому, а стоит ли овчинка – выделки? Т.е. стоит ли выигрыш по скорости затрат на разработку и сопровождение? В текущей ситуации по индустрии – нет, не стоит. Блин, люди пишут бекенды на Питоне. На Питоне, Карл!
Есть отдельные случаи, когда простые дизайны перестают работать. Например, GC на современных объемах RAM. И тут хочешь-не-хочешь, а придется делать иначе, усложнять, арены, пулы, ARC/RC и т.д.