Использование высокоуровневых конструкций Python из C - PullRequest
1 голос
/ 23 марта 2012

Существуют ли передовые практики для использования высокоуровневых конструкций Python, таких как threading.Condition и collections.deque из модулей, написанных на C? В частности:

  1. Предотвращение затрат на поиск, для методов и членов
  2. Доступ к частям этих конструкций, которые имеют в C непосредственно, где это возможно
  3. Когда локально переопределить желаемую функциональность, а не импортировать из других источников в стандартной библиотеке

1 Ответ

2 голосов
/ 23 марта 2012
  1. Поиск строк в dict очень дешев в Python, но при желании вы можете кешировать их в структуре.

  2. Обычно нет условий для выполненияпоэтому, поскольку эти библиотеки предназначены для доступа через Python, а не C. Тем не менее, все еще возможно генерировать ваши собственные заголовки, которые соответствуют определениям в модулях C, но их необходимо поддерживать для каждой версии Python.

  3. Нет хорошего ответа на этот вопрос.Это сводится к «быстро» против «достаточно быстро».

...