SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
Nightly Pyston
@Masahito
Py婚2014 version
お前 is 誰
• @Masahito
• 専門は効率的なファイル転送(P2P)
• Pythonは出荷物に含めたり、社内
Kittingとかで使ったり色々。Fabric
使ってるけどAnsibleに移行できるか
近頃調べてる。
• ScalaとJVMでご飯を食べています。
What is Pyston?
Pystonとは?
• Dropboxで作成しているPython2.7.x互換環境
• LLVMおよびLLVMのJIT(Just In Time)実行エンジンを使用して
構築されたPython実装。
• 現時点ではx86_64プラットフォームでのみ動作
PythonコードをLLVM IRに変換し、実行
実行時の流れ
インストール方法
• バイナリは提供されていません
• ビルド必要(https://github.com/dropbox/pyston/blob/master/
docs/INSTALLING.md)丁寧に書かれていて、この通りやればだい
たいうまく行く.(うまく行かないときは頑張ろう!
現状
• REPL内で改行を入力すると落ちます
• Pythonの基礎文法以外はほとんど実装されていません。実装されて
いない機能はつかうと落ちます。
• もちろんlambda ,リスト内包とかも動きません。
• 現状だとライブラリはほとんど実装されていません。いまのところ
time.timeくらいしか使えません
 速度比較
前提条件
• パフォーマンスチェックをしてみました。
• 比較するのは以下の様な感じです
!
• Python v2.7.3
• PyPy v2.2.1
• Pyston v0.1(2014/04/15)
再帰
再帰
繰り返し
再帰
まとめ: 今後に期待しよう
0.2以降
Missing large parts of the language
!
Exceptions (planned for 0.2)
Class inheritance (planned for 0.2)
Default arguments, keywords, starargs, kwargs (planned for 0.2)
Generators (planned for 0.2)
Integer promotion (planned for 0.2)
Threads
情報源
• [Introducing Pyston: an upcoming, JIT-based Python
implementation] https://tech.dropbox.com/2014/04/
introducing-pyston-an-upcoming-jit-based-python-
implementation/
• https://github.com/dropbox/pyston/blob/master/
README.md
• [Pyston0.1を動かしてみる] http://qiita.com/Masahito/items/
edd028ebc17c9e6b22b0
情報源
• [LLVM overview 20110122] http://www.slideshare.net/
nothingcosmos/llvm-overview-20110122
• [人間でもわかるLLVMバックエンド入門] https://
speakerdeck.com/kazegusuri/ren-jian-
demowakarullvmbatukuendoru-men

Mais conteúdo relacionado

Mais procurados

TravisCI Nightに行ってきたので情報展開
TravisCI Nightに行ってきたので情報展開TravisCI Nightに行ってきたので情報展開
TravisCI Nightに行ってきたので情報展開
Makoto Abe
 
Perl入学式に参加して初めてwebアプリを作った話
Perl入学式に参加して初めてwebアプリを作った話Perl入学式に参加して初めてwebアプリを作った話
Perl入学式に参加して初めてwebアプリを作った話
Yuzo Iwasaki
 

Mais procurados (20)

GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけねGitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
 
TravisCI Nightに行ってきたので情報展開
TravisCI Nightに行ってきたので情報展開TravisCI Nightに行ってきたので情報展開
TravisCI Nightに行ってきたので情報展開
 
Vagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオンVagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオン
 
自動デプロイ
自動デプロイ自動デプロイ
自動デプロイ
 
WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3
 
Perl入学式に参加して初めてwebアプリを作った話
Perl入学式に参加して初めてwebアプリを作った話Perl入学式に参加して初めてwebアプリを作った話
Perl入学式に参加して初めてwebアプリを作った話
 
コンテナベースサーバーレスプラットフォーム「Knative」はServerlessなのか?
コンテナベースサーバーレスプラットフォーム「Knative」はServerlessなのか?コンテナベースサーバーレスプラットフォーム「Knative」はServerlessなのか?
コンテナベースサーバーレスプラットフォーム「Knative」はServerlessなのか?
 
CCCEU Feedback
CCCEU FeedbackCCCEU Feedback
CCCEU Feedback
 
Composer並列化プラグイン #phpblt
Composer並列化プラグイン #phpblt Composer並列化プラグイン #phpblt
Composer並列化プラグイン #phpblt
 
仮想マシンとVagrant + Vagrant 1.5
仮想マシンとVagrant + Vagrant 1.5仮想マシンとVagrant + Vagrant 1.5
仮想マシンとVagrant + Vagrant 1.5
 
Infrakitの話とk8s+GPUの話
Infrakitの話とk8s+GPUの話Infrakitの話とk8s+GPUの話
Infrakitの話とk8s+GPUの話
 
Knative Lambda Runtimeを試してみた
Knative Lambda Runtimeを試してみたKnative Lambda Runtimeを試してみた
Knative Lambda Runtimeを試してみた
 
プロセスの永続化でコスト削減 #perlbeginners
プロセスの永続化でコスト削減 #perlbeginnersプロセスの永続化でコスト削減 #perlbeginners
プロセスの永続化でコスト削減 #perlbeginners
 
.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み
 
WebRTC SFU Mediasoup Sample update
WebRTC SFU Mediasoup Sample updateWebRTC SFU Mediasoup Sample update
WebRTC SFU Mediasoup Sample update
 
コンテナ運用基盤 with OpenShift
コンテナ運用基盤 with OpenShiftコンテナ運用基盤 with OpenShift
コンテナ運用基盤 with OpenShift
 
Java 9 and Future #jjug
Java 9 and Future #jjugJava 9 and Future #jjug
Java 9 and Future #jjug
 
KubernetesでGPUクラスタを管理したい
KubernetesでGPUクラスタを管理したいKubernetesでGPUクラスタを管理したい
KubernetesでGPUクラスタを管理したい
 
ALMツールたべくらべ
ALMツールたべくらべALMツールたべくらべ
ALMツールたべくらべ
 
OPNFVをインストールしてみた
OPNFVをインストールしてみたOPNFVをインストールしてみた
OPNFVをインストールしてみた
 

Destaque

Port homonimos e parônimos 9°
Port homonimos e parônimos 9°Port homonimos e parônimos 9°
Port homonimos e parônimos 9°
Ana Wronski
 
Palavras Parônimas e Homônimas
Palavras Parônimas e HomônimasPalavras Parônimas e Homônimas
Palavras Parônimas e Homônimas
Bovary16
 
Caça-palavras homonimos e paronimos1 resposta
Caça-palavras homonimos e paronimos1 respostaCaça-palavras homonimos e paronimos1 resposta
Caça-palavras homonimos e paronimos1 resposta
Dilmara Faria
 
jogos matemáticos
jogos matemáticosjogos matemáticos
jogos matemáticos
home
 

Destaque (6)

Port homonimos e parônimos 9°
Port homonimos e parônimos 9°Port homonimos e parônimos 9°
Port homonimos e parônimos 9°
 
Jogos pedagógicos slides
Jogos pedagógicos slidesJogos pedagógicos slides
Jogos pedagógicos slides
 
Palavras Parônimas e Homônimas
Palavras Parônimas e HomônimasPalavras Parônimas e Homônimas
Palavras Parônimas e Homônimas
 
Caça-palavras homonimos e paronimos1 resposta
Caça-palavras homonimos e paronimos1 respostaCaça-palavras homonimos e paronimos1 resposta
Caça-palavras homonimos e paronimos1 resposta
 
Jogos Educativos
Jogos EducativosJogos Educativos
Jogos Educativos
 
jogos matemáticos
jogos matemáticosjogos matemáticos
jogos matemáticos
 

Semelhante a Pykonjp2014

Cent osにpyhtonをインストールしてみよう
Cent osにpyhtonをインストールしてみようCent osにpyhtonをインストールしてみよう
Cent osにpyhtonをインストールしてみよう
2bo 2bo
 
Pythonの環境導入 2014年春季版
Pythonの環境導入 2014年春季版Pythonの環境導入 2014年春季版
Pythonの環境導入 2014年春季版
Katsuhiro Morishita
 
OSC2011Tokyo/Fall OpenStack Swift入門
OSC2011Tokyo/Fall OpenStack Swift入門OSC2011Tokyo/Fall OpenStack Swift入門
OSC2011Tokyo/Fall OpenStack Swift入門
irix_jp
 
次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発
shoma h
 

Semelhante a Pykonjp2014 (20)

Python & PyConJP 2014 Report
Python & PyConJP 2014 ReportPython & PyConJP 2014 Report
Python & PyConJP 2014 Report
 
Cent osにpyhtonをインストールしてみよう
Cent osにpyhtonをインストールしてみようCent osにpyhtonをインストールしてみよう
Cent osにpyhtonをインストールしてみよう
 
Pythonの環境導入 2014年春季版
Pythonの環境導入 2014年春季版Pythonの環境導入 2014年春季版
Pythonの環境導入 2014年春季版
 
Pyconjp2016 pyftplib
Pyconjp2016 pyftplibPyconjp2016 pyftplib
Pyconjp2016 pyftplib
 
CPythonを読もう
CPythonを読もうCPythonを読もう
CPythonを読もう
 
OSC2011Tokyo/Fall OpenStack Swift入門
OSC2011Tokyo/Fall OpenStack Swift入門OSC2011Tokyo/Fall OpenStack Swift入門
OSC2011Tokyo/Fall OpenStack Swift入門
 
Osoljp201210 oi swift
Osoljp201210 oi swiftOsoljp201210 oi swift
Osoljp201210 oi swift
 
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミングPyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
 
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python
 
サードパーティパッケージの歩き方
サードパーティパッケージの歩き方サードパーティパッケージの歩き方
サードパーティパッケージの歩き方
 
Python × Herokuで作る 雑談slack bot
Python × Herokuで作る 雑談slack botPython × Herokuで作る 雑談slack bot
Python × Herokuで作る 雑談slack bot
 
Oktavia全文検索エンジン - SphinxCon JP 2014
Oktavia全文検索エンジン - SphinxCon JP 2014Oktavia全文検索エンジン - SphinxCon JP 2014
Oktavia全文検索エンジン - SphinxCon JP 2014
 
2006-04-22 CLR/H #14 .NET and open source
2006-04-22 CLR/H #14 .NET and open source2006-04-22 CLR/H #14 .NET and open source
2006-04-22 CLR/H #14 .NET and open source
 
Webフレームワークを作ってる話 #osakapy
Webフレームワークを作ってる話 #osakapyWebフレームワークを作ってる話 #osakapy
Webフレームワークを作ってる話 #osakapy
 
次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発
 
Python charity talk in japan fastAPI introduction
Python charity talk in japan fastAPI introductionPython charity talk in japan fastAPI introduction
Python charity talk in japan fastAPI introduction
 
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
 
Hannari python#27
Hannari python#27Hannari python#27
Hannari python#27
 
nginx + lua + ObjectStorage ファイルアップロード/ダウンロードの高速化
nginx + lua + ObjectStorage  ファイルアップロード/ダウンロードの高速化nginx + lua + ObjectStorage  ファイルアップロード/ダウンロードの高速化
nginx + lua + ObjectStorage ファイルアップロード/ダウンロードの高速化
 
蛇を埋葬する(PythonをEmbedする)
蛇を埋葬する(PythonをEmbedする)蛇を埋葬する(PythonをEmbedする)
蛇を埋葬する(PythonをEmbedする)
 

Mais de masahitojp

Play2 translate 20120714
Play2 translate 20120714Play2 translate 20120714
Play2 translate 20120714
masahitojp
 
Play2の裏側
Play2の裏側Play2の裏側
Play2の裏側
masahitojp
 
5分で説明する Play! scala
5分で説明する Play! scala5分で説明する Play! scala
5分で説明する Play! scala
masahitojp
 

Mais de masahitojp (16)

Python と型ヒントとその使い方
Python と型ヒントとその使い方Python と型ヒントとその使い方
Python と型ヒントとその使い方
 
Enjoy Type Hints and its benefits
Enjoy Type Hints and its benefitsEnjoy Type Hints and its benefits
Enjoy Type Hints and its benefits
 
Build a RESTful API with the Serverless Framework
Build a RESTful API with the Serverless FrameworkBuild a RESTful API with the Serverless Framework
Build a RESTful API with the Serverless Framework
 
Presentation kyushu-2018
Presentation kyushu-2018Presentation kyushu-2018
Presentation kyushu-2018
 
serverless framework + AWS Lambda with Python
serverless framework + AWS Lambda with Pythonserverless framework + AWS Lambda with Python
serverless framework + AWS Lambda with Python
 
The Benefits of Type Hints
The Benefits of Type HintsThe Benefits of Type Hints
The Benefits of Type Hints
 
20170131 python3 6 PEP526
20170131 python3 6 PEP526 20170131 python3 6 PEP526
20170131 python3 6 PEP526
 
chat bot framework for Java8
chat bot framework for Java8chat bot framework for Java8
chat bot framework for Java8
 
Akka meetup 2014_sep
Akka meetup 2014_sepAkka meetup 2014_sep
Akka meetup 2014_sep
 
Pyconjp2014_implementations
Pyconjp2014_implementationsPyconjp2014_implementations
Pyconjp2014_implementations
 
Pyconsg2014 pyston
Pyconsg2014 pystonPyconsg2014 pyston
Pyconsg2014 pyston
 
Riak map reduce for beginners
Riak map reduce for beginnersRiak map reduce for beginners
Riak map reduce for beginners
 
Play2 translate 20120714
Play2 translate 20120714Play2 translate 20120714
Play2 translate 20120714
 
Play2の裏側
Play2の裏側Play2の裏側
Play2の裏側
 
Play!framework2.0 introduction
Play!framework2.0 introductionPlay!framework2.0 introduction
Play!framework2.0 introduction
 
5分で説明する Play! scala
5分で説明する Play! scala5分で説明する Play! scala
5分で説明する Play! scala
 

Pykonjp2014