分123EuroPython3日目の様子をお伝えします。3.8以降の新機能についてのトークなどについてレポートします。Hatで働いており,2010年からCPythonのメンテナンスを行っているそうです。このトークでは,Pythonのパフォーマンスについて過去,現在,未来について語られました。過去CPython(C言語で書かれたPython実装)は1989年から開発されています。他に以下のような実装系が紹介されました。Python2006:IronPython2014:MicroPythonそしてPythonを高速化するプロジェクトとして,以下が紹介されました。これらの多くはJITコンパイラを使用して高速化を目指しています。Swallow(Google)2014-2017:Pyston(Dropbox)2016-2017:Pyjion(Microsoft)Pythonを高速化するには,CPythonをフォークする場合と,一から実装するという2つの方法があります。CPythonからフォークする場合,古いCPythonの実装によるパフォーマンスの限界や,GIL(グローバルインタプリタロック)の制限があります。一から実装する場合はGILの制限などがありませんが,C拡張はサポートされなかったり遅いという問題があります。CPythonには30名のアクティブなコア開発者がおり,最新の機能は最初にCPythonに実装されます。ここからは,2つの終了したプロジェクトについての説明がありました。Swallow(2011)Googleのプロジェクト。多くのGoogleのPythonコードではパフォーマンスは重要な問題ではないため終了。Pyston(2017)Dropboxのプロジェクト。パフォーマンスに関するコードはGoのような他の言語に切り替えた。互換性の維持に多くの時間を割いた。現在PyPyはCPythonと置き換え可能で,4.4倍速くなるそうです。PyPyにも課題はあります。C拡張はCPythonよりは遅い,JITのためにより多くのメモリと起動時間が必要であることです。そのためPyPyはサーバーサイドでずっと起動しているサービスなどに向いています。次に,図を使用してGILについての説明がありました。CPUバウンドの処理の場合,マルチスレッドでもGILの制限によって1つのスレッドしか実行されません。そこでマルチプロセッシングでGILの制限を受けない方法があります。3.8から,共有メモリがここで使用できるようになるそうです。別の解決策としてCythonも紹介されていました。CythonはC拡張をPythonと似た言語で簡単に記述する方法です。複数のPythonバージョンで動作します。NumbaはPythonとNumPyの一部処理をJITで高速化するツールです。GPUなどを使用して高速化が可能です。CenterというサイトでCPythonの実行速度を計測しているそうです。ある変更によってCPythonが速くなったか,遅くなったかを確認できるようになっています。このサイトはよくできているなと感じました。今後のPythonのパフォーマンス向上についていくつか紹介されていました。APIを3つのレベルに分類するそうです。3.8以降でサポートされるそうです。GCに変更するそうです。GCは多くのモダンなプログラミング言語やPyPyで採用されています。APIは参照カウントを継続して使用するそうです。Stdlibで提案されたものです。1つのCPythonプロセスの中で複数のインタープリターを動作させることにより,GILの制限を回避するというアイデアです。Pythonは遅いとよく言われますが,過去にいくつかのプロジェクトが失敗したこと,現在いくつかの対策があること,そして今後も継続的にPythonのパフォーマンスについて改善されていくことがわかるトークでした。3.8や今後のPythonについてのトークを聞いてきました。3.6について語ってくれました。Andrey氏はPyCharmのテクニカルリードでもあり,PEP484,561などのPythonのtypeシステムに対して貢献しています。3.8ですが,2019年10月21日にリリース予定で,すでに機能は確定したベータバージョンがリリースされています。Newがよいドキュメントです。このトークではいくつかの新しい機能や言語仕様について,その歴史やメリットデメリットについて紹介していきました。Expressionsです。572は以下のように:=という演算子で代入式を実現します。x)という書き方で提案されていたそうです。全体を()で囲んで変数がサブローカルスコープになるという複雑なものだったが,現在のようにシンプルな形になったそうです。Councilが選ばれたという話がありました。PyConのレポートで紹介しています。Parametersです。y=20)と呼ぶとエラーになります⁠)⁠。APIの関数の引数用に用いられていたためです。新しいTypeとしてProtocol,Literal,Final,TypedDictが紹介されました。summits,開発Sprintなどで進められているそうです。3.8の先の話としていくつか紹介されていましたが,興味深かったのはMypycです。Cythonに似ているけどPythonの型を使い,シングルコアでのパフォーマンスが速くなるそうです。Stdlibも興味深いです。こちらはマルチコア上でのパフォーマンスを上げる取り組みだそうです。3.9以降の取り組みについて興味深い発表でした。Beyondこの日の帰りにAndreyに声をかけたことろ,私のことを覚えてくれていました。2016のトートバッグがノートPC入れにちょうどいいらしく,愛用しているそうです(この日も肩から下げていました⁠)⁠。「⁠またどこかのPyConで会いましょう」と話して別れました。JP,副代表理事,株式会社ビープラウド所属。部内のサイトを作るためにZope/Ploneと出会い,その後必要にかられてPythonを使い始める。Hack-a-thon(#pyhack)主催など。インプレス刊)』などがある。Campの講師で訪れた土地で,現地のクラフトビールを飲むこと。2019年は世界各国のPyConでの発表に挑戦している。趣味は吹奏楽とボルダリングとレゴとペンシルパズル。2019」を開催しました。DAY1・DAY2の様子を注目セッションとともにお伝えします。LINEのエンジニア3名がイベントに先駆けて見どころを紹介します。コードの安全性・安定性を高める開発サイクル~テスト管理の効率を上げ,脆弱性診断を自動で行う~本連載では,連載「業務を改善する情報共有の仕掛け」を受けつつ,安全性・安定性を加えた開発サイクルについて考えていきます。若者世代から圧倒的な人気を誇るライブ配信&動画投稿コミュニティアプリ「MixChannel」(ミクチャ)の裏側(レコメンドシステムやサーバサイド開発など)について解説していきます。その他の連載CSS3アニメーションでつくるインターフェイス表現CSS3によるアニメーション表現を紹介していきます。その中でも,幅広い読者に応用してもらえるだろうインターフェイスを主なお題とします。MySQL道普請便り本連載では,MySQLを使ったアプリ開発・運用に関するノウハウをご紹介していきます。RecipeUbuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。JavaScriptセキュリティの基礎知識JavaScriptに関するセキュリティ上の問題はどこで発生し,どうすれば防ぐことができるのか?について解説していきます。〜システムをきちんと運用するための基礎知識システムは「作って終わり」ではなく,運用の中でさまざまな問題が発生します。問題の発生に備えて事前にどのような対応をしておくべきなのか,問題発生時に何をしなければならないのか,ポイントを解説していきます。きたみりゅうじの聞かせて珍プレーソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。Linuxのメンテナンスの傍ら,Linuxやオープンソースソフトと日々を過ごす著者が,その魅力とつきあい方を,エッセイ風味でお届けします。PRESS特別編集部員,さわやか笑顔のスーパーハカーはまちちゃんとネット大好き14歳わかばちゃんが,毎号,読者の皆さんから寄せられたおたよりを紹介します。皆さんの日頃の悩みにも答えちゃいますよ。]メールでのお知らせメールで次の案内をお送りしております。メールの配信を希望する方は,利用したい項目をチェックしてメールアドレスを入力し,[登録]ボタンをクリックしてください。UPDATES[ほぼ週間に1回]新刊メールマガジン[ほぼ週間に1回]電脳会議の各号案内[ほぼ1ヵ月半に1回]※変更する場合や停止する場合は,登録情報変更ページをご覧ください。※登録いただいたメールアドレスには,そのお知らせ以外,配信いたしません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。