Интерфейс с прямым C-кодированием может быть намного быстрее.Узким местом является интерфейс от Python к C, и сортировка аргументов и результатов может, например, включать копирование строк или преобразование списков Python в / из массивов C.Если у вас есть цикл, который выполняет несколько сотен этих вызовов, и некоторые данные не нужно маршалировать отдельно для каждого вызова, тогда все, что вам нужно сделать, это перекодировать цикл в C, и вы сможете значительно уменьшить узкое место,ctypes не дает вам такой возможности: все, что вы можете сделать, это напрямую вызвать существующие функции.
Конечно, все зависит от того, какой именно тип функций вы вызываете и какие данные вы передаете.Может случиться так, что вы не сможете уменьшить накладные расходы, и в этом случае я все же ожидал бы, что ctypes будет медленнее, но, возможно, незначительно.
Лучше всего было бы собрать несколько примеров кода, написанного в каждом случае, исравните это.В противном случае слишком много переменных для однозначного ответа.