2013-07-01 5 views
2

Я намереваюсь написать небольшой текстовый редактор в python. Поэтому мне нужна быстрая библиотека обработки строк/текстовой обработки, которая предпочтительно написана на C по соображениям производительности.Какие собственные модули python написаны на C?

Как узнать, какие модули python написаны на C под капотом?

+0

Получите источники python и посмотрите! Это уверенная ставка, что все примитивы языковой строки - это собственный код. Структуры данных имеют тенденцию быть более важными, чем примитивы строк для редактирования всех, кроме крошечных файлов. Я потратил бы время на изучение этого, а не на манипуляции с строкой. – Gene

+0

Почему вы думаете, что «написано на C» означает «быстрый»? Это может быть, конечно, но может быть очень медленным, независимо от того, на каком языке он написан. –

+0

http://hg.python.org/cpython/file/f17647ce8f8a – Elazar

ответ

4

Как Gene рекомендуется, лучший способ по-прежнему смотреть на источники и выяснить, какой модуль реализуется в С.

Вы также можете проверить атрибут __file__ модуля:

>>> import math 
>>> print(math.__file__) 
/usr/lib/python2.7/lib-dynload/math.so 

В этом Например, это загруженный файл .so, поэтому этот самый модуль реализован на скомпилированном языке (скорее всего, на C).

+0

Использует ли python любые другие скомпилированные (на .so) языки? – Kevin

Смежные вопросы