使用python並使用pypy編譯器時,python編程有區別嗎?我想嘗試使用pypy,以便我的程序執行時間變得更快。 python中的所有語法是否也可以在pypy中使用?如果沒有區別,你能告訴我如何在debian lunux上安裝pypy並在pypy上使用一些例子嗎?除了描述外,谷歌並沒有在pypy上包含太多信息。pypy編譯器的用法
6
A
回答
11
從pypy features page:
PyPy 1.9實現的Python 2.7.2和運行在Intel 86(IA-32)和 x86_64的平臺,與ARM和PPC是正在進行中。它支持所有 的核心語言,通過Python測試套件。
這意味着幾乎所有你在Python 2.7中編寫的代碼都可以工作。值得一提的唯一例外是用C編寫的一些python擴展,如numpy
。
安裝應該相當容易,你可以download a linux binary from here。然後簡單地提取解釋器。從這一點來說,你可以運行你的python程序,就像你用普通的python解釋器運行它們一樣。
代替在命令行:
python my_program.py
用途:
path/to/where/you/installed/pypy my_program.py
有關如何/爲什麼你可能想使用pypy的例子,從2012年PYCON
退房 this video
2
pypy是python語言的兼容替代實現。這意味着幾乎沒有(有意的)差異。少數差異之一是pypy不使用引用計數。這意味着,例如,您必須手動關閉文件,當文件變量超出作用域時,它們將不會像CPython中那樣自動關閉。
相關問題
- 1. 將PyPy編譯爲Exe
- 2. 與Pypy編譯器一起使用MySQLdb模塊
- 3. PyPy翻譯錯誤
- 4. 用於Java的語法編譯器編譯器
- 5. 編譯器中的文法
- 6. 編譯器如何編譯編譯器?
- 7. Supero(Haskell超級編譯器)的用法?
- 8. 將python編譯爲二進制 - pypy性能
- 9. boost :: container :: vector無法使用C++ 03編譯器進行編譯
- 10. 使用maven編譯時無法找到Javac編譯器 - 無法找到Javac編譯器:
- 11. 着色器無法編譯
- 12. 用C++編譯器編譯c代碼
- 13. 用ISPC編譯器編譯OpenMP程序
- 14. 用C++編譯器編譯Apache
- 15. 用C++編譯器編譯C99文件
- 16. 使用g ++編譯器編譯boost.asio
- 17. 用g ++編譯器編譯Multi2Sim
- 18. 使用scons編譯器編譯C++
- 19. 新的gfortran編譯器無法編譯舊的gfortran程序
- 20. 編譯編譯器錯誤編譯GCC
- 21. 無法讓Intellij使用AspectJ編譯器
- 22. 編譯器無法使用std ::函數
- 23. 引用@dynamic訪問器無法編譯
- 24. 使用Windows編譯器之間的編譯庫編譯器,cygwin和linux g ++
- 25. 爲什麼PyPy翻譯如此緩慢?
- 26. 爲舊CPU重新翻譯pypy
- 27. 針對VxWorks的GCC交叉編譯器無法編譯C++
- 28. 的Android JIT編譯器:是編譯/方法優化
- 29. 編譯mysql連接器用mingw編譯C++,編譯錯誤
- 30. 編譯用gradle的想法
另請參見http://pypy.org/compat.html,其中列出了PyPy和當前2.x CPython之間所有主要已知的區別,並鏈接到了所有已知的差異,直到細節的瑣碎程度。 – abarnert
一般不快嗎?當我使用pypy執行我的程序時,它比正常執行python腳本的時間要多兩倍。奇怪的...!! –
Pypy在許多情況下會更快,但不是全部。在更大,更長的執行程序中,您將更有可能看到更大的加速。在這裏有很多不同的任務,CPython和PyPy之間有一個速度比較:http://speed.pypy.org/請注意,PyPy比其他的更好。 – Wilduck