LINUX.ORG.RU

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

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

Поэтому, я тоже как-то не очень понял, что автор имеет ввиду насчет «медленности».

Не знаю как в питоне, но в перле это выражается в том, что сама обвязка вызовов и преобразование данных из си-шных структур в нативные-языковые довольно тормозная. Пример, на входе сишной функции ожидается тип int, из ЯП приходит данные в виде строки. Динамическое преобразование типов средствами языка и есть ботлнек по мнению автора. На самом деле там еще куча ньюансов, но я дал лишь простой пример для наглядности. Тем не менее, автор забыл учесть, что задач, где преобразование типов является ботлнеком крайне мало. Одна лишь конвертация картинок из BMP в PNG займет больше времени.

С точки зрения человека, процесс до готовой реализации на Си потребует больше времени. Прототип пишется на нативе (на питоне). Потом, через прогонку профайлером обнаруживается ботлнек. Пишется реализация на сях. Потом профилирование сишного кода. Да, такая разработка медленнее, чем изначально писать на Сях/Го. Если таких задач будет куча, рано или поздно начнешь изначально проектировать программу с использованием сишных модулей. И проблема исчезнет :)

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

Поэтому, я тоже как-то не очень понял, что автор имеет ввиду насчет «медленности».

Не знаю как в питоне, но в перле это выражается в том, что сама обвязка вызовов и преобразование данных из си-шных структур в нативные-языковые довольно тормозная. Пример, на входе сишной функции ожидается тип int, из ЯП приходит данные в виде строки. Динамическое преобразование типов средствами языка и есть ботлнек по мнению автора. На самом деле там еще куча ньюансов, но я дал лишь простой пример для наглядности. Тем не менее, автор забыл учесть, что задач, где преобразование типов является ботлнеком крайне мало. Одна лишь конвертация картинок из BMP в PNG займет больше времени.