Почему Swift в 100 раз медленнее, чем C в этом тесте обработки изображений? [дубликат]
этот вопрос уже есть ответ здесь:
Быстродействие бета-версии Swift: сортировка массивов
8 ответов
как и многие другие разработчики, я был очень взволнован новым языком Swift от Apple. Apple заявила, что ее скорость быстрее, чем Objective C, и может быть использована для записи операционной системы. И из того, что я узнал так далеко, это статический типизированный язык и способный точно контролировать точный тип данных (например, целочисленную длину). Таким образом, похоже, что у вас есть хороший потенциал для решения критически важных задач, таких как обработка изображений, верно?
это то, что я думал, прежде чем я провел быстрый тест. Результат меня очень удивил.
вот простой фрагмент кода в C:
2 ответов:
дом с:
xcrun swift -Ofast test.swift -o testЯ получаю время:
real 0m0.052s user 0m0.009s sys 0m0.005s
давайте просто сосредоточимся на ответе на вопрос, который начался с "почему": потому что вы не включили оптимизацию, а Swift сильно зависит от оптимизации компилятора.
тем не менее, делать обработку изображений в C действительно глупо. Для этого у вас есть CGImage и друзья.
Comments