Я не понимаю, что означает слово перевод. Это то же самое, что компилировать?
Что означает «перевод», подробно описано в цепочке инструментов RPython. В Руководстве по кодированию и Часто задаваемые вопросы.
Резюмируя их резюме:
- Скомпилируйте и импортируйте полную программу RPython.
- Динамически анализируйте программу и добавляйте к ней блок-схемы.
- Скомпилируйте графы потоков в графы потоков более низкого уровня.
- Оптимизируйте скомпилированные потоковые графы.
- Проанализируйте скомпилированные и оптимизированные графы потоков.
- Создайте исходный код C из блок-схем и анализа.
- Скомпилируйте и свяжите исходный код C с собственным исполняемым файлом.
Итак, на шаге 1 используется обычный компилятор Python, на шаге 7 используется обычный компилятор C (и компоновщик), а шаги 3 и 4 аналогичны тому, что обычно делает оптимизирующий компилятор. Но называть весь процесс «компиляцией» было бы неправильно. (Кроме того, люди, вероятно, интерпретируют это как что-то похожее на то, что делает Шедскин, что определенно неверно.)
Является ли pypy-c созданным в переводе тем же, что и bin/pypy в двоичном файле?
То, что заканчивается в двоичном дистрибутиве, в основном такое же, как если бы вы запускали процесс установки на цели перевода. Итак, да, goal/pypy-c
и bin/pypy
фактически одно и то же.
Является ли предварительно созданный PyPy ссылкой на исходный код?
Нет. Это относится к bin/pypy
из бинарного дистрибутива. Как говорится в документации, на самом деле вы можете использовать любой Python 2.6+, включая CPython, или goal/pypy-c
, оставшийся от предыдущей сборки, и т. д. Однако транслятор, вероятно, будет работать быстрее всего на стандартном бинарном дистрибутиве PyPy. , так что это то, что вы должны использовать, если у вас нет веской причины поступить иначе.
person
abarnert
schedule
04.06.2013