Suche senden
Hochladen
PHP7で変わること ——言語仕様とエンジンの改善ポイント
•
175 gefällt mir
•
170,994 views
Yoshio Hanawa
Folgen
PHPカンファレンス関西2015にて発表
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 51
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
第 87 回 PHP 勉強会での発表資料です。PHP の処理系に採用されている参照カウント方式の GC と循環参照を回収するアルゴリズムについて簡単に説明します。また、特定の限られた状況で循環参照の回収が処理速度に悪影響を与えることを、簡単なサンプルプログラムを用いて示します。
PHP の GC の話
PHP の GC の話
y-uti
Developers Summit 2015 KANSAI (2015/9/4) 発表資料
PHP7の内部実装から学ぶ性能改善テクニック
PHP7の内部実装から学ぶ性能改善テクニック
Yoshio Hanawa
2021/12/21 PHPerKaigi petit - PHP8.1リリース祝賀会 でのトーク「モダンPHPテクニック 12選 ―PsalmとPHP 8.1で今はこんなこともできる!―」のスライドです。発表時点からごくわずかに加筆修正した部分があります。 https://phperkaigi.connpass.com/event/233022/
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
shinjiigarashi
11月リリース予定のPHP 8.2の話題を中心に,PHPの今とこれからについて説明します.
PHPの今とこれから2022
PHPの今とこれから2022
Rui Hirokawa
TensorFlow User Group ハード部 #2 (2017年4月21日) https://tfug-tokyo.connpass.com/event/54426/ の発表資料です TensorFlow r1.0(r1.1)で公開されたXLAのソースコードを追ってみました
TensorFlow XLAは、 中で何をやっているのか?
TensorFlow XLAは、 中で何をやっているのか?
Mr. Vengineer
- phpcon2022 の発表 - https://fortee.jp/phpcon-2022/proposal/b85ca73f-6383-4485-b2ae-4ec3e0913e72
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
shinjiigarashi
Ethernetの受信処理
Ethernetの受信処理
Ethernetの受信処理
Takuya ASADA
2年ぐらい前の社内勉強会で使った資料。
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
Gosuke Miyashita
Empfohlen
第 87 回 PHP 勉強会での発表資料です。PHP の処理系に採用されている参照カウント方式の GC と循環参照を回収するアルゴリズムについて簡単に説明します。また、特定の限られた状況で循環参照の回収が処理速度に悪影響を与えることを、簡単なサンプルプログラムを用いて示します。
PHP の GC の話
PHP の GC の話
y-uti
Developers Summit 2015 KANSAI (2015/9/4) 発表資料
PHP7の内部実装から学ぶ性能改善テクニック
PHP7の内部実装から学ぶ性能改善テクニック
Yoshio Hanawa
2021/12/21 PHPerKaigi petit - PHP8.1リリース祝賀会 でのトーク「モダンPHPテクニック 12選 ―PsalmとPHP 8.1で今はこんなこともできる!―」のスライドです。発表時点からごくわずかに加筆修正した部分があります。 https://phperkaigi.connpass.com/event/233022/
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
shinjiigarashi
11月リリース予定のPHP 8.2の話題を中心に,PHPの今とこれからについて説明します.
PHPの今とこれから2022
PHPの今とこれから2022
Rui Hirokawa
TensorFlow User Group ハード部 #2 (2017年4月21日) https://tfug-tokyo.connpass.com/event/54426/ の発表資料です TensorFlow r1.0(r1.1)で公開されたXLAのソースコードを追ってみました
TensorFlow XLAは、 中で何をやっているのか?
TensorFlow XLAは、 中で何をやっているのか?
Mr. Vengineer
- phpcon2022 の発表 - https://fortee.jp/phpcon-2022/proposal/b85ca73f-6383-4485-b2ae-4ec3e0913e72
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
shinjiigarashi
Ethernetの受信処理
Ethernetの受信処理
Ethernetの受信処理
Takuya ASADA
2年ぐらい前の社内勉強会で使った資料。
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
Gosuke Miyashita
CuPyの簡単な解説を行います。NumPyと比較してCuPyによりどのくらい早くなるかや、利用上の注意点(メモリプール)について説明します。 ElementwiseKenrnel, ReductionKernelの使い方も解説します。 CuPyの実装のすごーくざっくーりした全体概要にも触れます。
CuPy解説
CuPy解説
Ryosuke Okuta
ACRiルームが提供する新しいコンテンツとして、今年8月より「ACRi HLSチャレンジ」がスタートしました。与えられたお題に対し、より高速なハードウェア回路を目指してパズル感覚で高位合成ツールを学んで頂けるサイトです。既に多くの方が参加(HLSのコードを投稿)してくれていますが、ランキング上位の方のコードを解説しながら、幾つかお奨めの高速化テクニックを紹介します。
ACRi HLSチャレンジ 高速化テクニック紹介
ACRi HLSチャレンジ 高速化テクニック紹介
Jun Ando
Raftの解説
Raft
Raft
Preferred Networks
プログラムを高速化するためのテクニックをまとめました。
プログラムを高速化する話
プログラムを高速化する話
京大 マイコンクラブ
【高速化】C#コンパイラとランタイムのJITとフレームワークの実装に焦点を合わせて、高速なコードの書き方についてTipsを紹介します。C#で基盤やライブラリを作る人向けです。
C#で速度を極めるいろは
C#で速度を極めるいろは
Core Concept Technologies
LTの資料です
Python と型アノテーション
Python と型アノテーション
K Yamaguchi
Pythonによる(Rubyでも大体適用可能)黒魔術へ入門するための案内書
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
Hu Xu, Gargi Ghosh, Po-Yao Huang, Dmytro Okhonko, Armen Aghajanyan, Florian Metze, Luke Zettlemoyer, Christoph Feichtenhofer, "VideoCLIP: Contrastive Pre-training for Zero-shot Video-Text Understanding" EMNLP2021 https://aclanthology.org/2021.emnlp-main.544/
文献紹介:VideoCLIP: Contrastive Pre-training for Zero-shot Video-Text Understanding
文献紹介:VideoCLIP: Contrastive Pre-training for Zero-shot Video-Text Understanding
Toru Tamaki
glibc mallocの解説 Video: https://youtu.be/0-vWT-t0UHg
Glibc malloc internal
Glibc malloc internal
Motohiro KOSAKI
KMC 関東例会での講座の資料 (by @nojima)
C++ マルチスレッド 入門
C++ マルチスレッド 入門
京大 マイコンクラブ
2014/6/28 CLR/H in Tokyo 第3回 にて登壇
C#/.NETがやっていること 第二版
C#/.NETがやっていること 第二版
信之 岩永
※ twitter上でnot foundの場合は適当なパラメータつけたURLにしてください。 https://www.slideshare.net/sasezaki/php-qa2019-200006092?p PHPカンファレンス2019のスライドです https://fortee.jp/phpcon-2019/proposal/01abf927-eb46-4708-95a1-ae05b9ac2bcf
このPHP QAツールがすごい!2019
このPHP QAツールがすごい!2019
sasezaki
Presentation of basics of Superscalar, Hardware threading(hyper threading), Multicore technology.
CPUの同時実行機能
CPUの同時実行機能
Shinichiro Niiyama
GPUとは何か、GPUをJavaで使うにはどうするか
GPUをJavaで使う話(Java Casual Talks #1)
GPUをJavaで使う話(Java Casual Talks #1)
なおき きしだ
社内向けに発表した研究会のスライドです。ハイライト版が以下のブログです。 「深層強化学習のself-playで遊んでみた」:https://recruit.gmo.jp/engineer/jisedai/blog/self-play/ 結果のアニメーションが以下のgithubにあります。 https://github.com/jkatsuta/17_4q_supplement 2017/10に発表されたBansal+17を参考に、深層強化学習のself-playを使って、2体のAgentを戦わせることで複雑な行動の学習を試みた結果について話しました。論文にはない初期位置などでも学習をさせて、どのように変化するかの考察などもしました。
深層強化学習の self-playで、複雑な行動を機械に学習させたい!
深層強化学習の self-playで、複雑な行動を機械に学習させたい!
Junichiro Katsuta
DeNAではUnityを使って多くのゲームを開発していますが、Unityはいま、かつてない規模の大きな変革の時を迎えています。この大きなうねりのなかで、何が変わろうとしているかを知り、そして変化によって生まれる価値を正しく認識して開発に取り入れることができれば、Unityでのゲーム開発の効率を大きく改善させていくことができます。本セッションでは、Unityに今どのような改善がなされているのかについて話した上で、DeNAがその領域に対して今までどのように対処してきて、Unityの改善を受けてそれをどのように生かしてゲーム開発の現場に取り入れようとしているのかについてピックアップして説明していきます。
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
DeNA
株式会社Preferred Infrastructureの会社紹介と製品紹介です。
PFI会社案内
PFI会社案内
Preferred Networks
メタプログラミングって何だろう
メタプログラミングって何だろう
Kota Mizushima
コアコンセプトテクノロジー開発事解析業部の東さんの発表 関数型言語に搭載されているPaser Combinatorの説明と使い方 常駐先の実業務で、「今まさにやろうとしていたことが、これで解決できそうだ」という方も現れ、実務に直結するセッションに成りました。 専門的なお話になりましたが、活発な意見や議論が出来ました。
Parser combinatorってなんなのさ
Parser combinatorってなんなのさ
cct-inc
ビットを数える(x86/x64最適化勉強会1)
x86x64 SSE4.2 POPCNT
x86x64 SSE4.2 POPCNT
takesako
第85回PHP勉強会資料
PHP7はなぜ速いのか
PHP7はなぜ速いのか
Yoshio Hanawa
PHPNGの動向
PHPNGの動向
Yoshio Hanawa
Weitere ähnliche Inhalte
Was ist angesagt?
CuPyの簡単な解説を行います。NumPyと比較してCuPyによりどのくらい早くなるかや、利用上の注意点(メモリプール)について説明します。 ElementwiseKenrnel, ReductionKernelの使い方も解説します。 CuPyの実装のすごーくざっくーりした全体概要にも触れます。
CuPy解説
CuPy解説
Ryosuke Okuta
ACRiルームが提供する新しいコンテンツとして、今年8月より「ACRi HLSチャレンジ」がスタートしました。与えられたお題に対し、より高速なハードウェア回路を目指してパズル感覚で高位合成ツールを学んで頂けるサイトです。既に多くの方が参加(HLSのコードを投稿)してくれていますが、ランキング上位の方のコードを解説しながら、幾つかお奨めの高速化テクニックを紹介します。
ACRi HLSチャレンジ 高速化テクニック紹介
ACRi HLSチャレンジ 高速化テクニック紹介
Jun Ando
Raftの解説
Raft
Raft
Preferred Networks
プログラムを高速化するためのテクニックをまとめました。
プログラムを高速化する話
プログラムを高速化する話
京大 マイコンクラブ
【高速化】C#コンパイラとランタイムのJITとフレームワークの実装に焦点を合わせて、高速なコードの書き方についてTipsを紹介します。C#で基盤やライブラリを作る人向けです。
C#で速度を極めるいろは
C#で速度を極めるいろは
Core Concept Technologies
LTの資料です
Python と型アノテーション
Python と型アノテーション
K Yamaguchi
Pythonによる(Rubyでも大体適用可能)黒魔術へ入門するための案内書
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
Hu Xu, Gargi Ghosh, Po-Yao Huang, Dmytro Okhonko, Armen Aghajanyan, Florian Metze, Luke Zettlemoyer, Christoph Feichtenhofer, "VideoCLIP: Contrastive Pre-training for Zero-shot Video-Text Understanding" EMNLP2021 https://aclanthology.org/2021.emnlp-main.544/
文献紹介:VideoCLIP: Contrastive Pre-training for Zero-shot Video-Text Understanding
文献紹介:VideoCLIP: Contrastive Pre-training for Zero-shot Video-Text Understanding
Toru Tamaki
glibc mallocの解説 Video: https://youtu.be/0-vWT-t0UHg
Glibc malloc internal
Glibc malloc internal
Motohiro KOSAKI
KMC 関東例会での講座の資料 (by @nojima)
C++ マルチスレッド 入門
C++ マルチスレッド 入門
京大 マイコンクラブ
2014/6/28 CLR/H in Tokyo 第3回 にて登壇
C#/.NETがやっていること 第二版
C#/.NETがやっていること 第二版
信之 岩永
※ twitter上でnot foundの場合は適当なパラメータつけたURLにしてください。 https://www.slideshare.net/sasezaki/php-qa2019-200006092?p PHPカンファレンス2019のスライドです https://fortee.jp/phpcon-2019/proposal/01abf927-eb46-4708-95a1-ae05b9ac2bcf
このPHP QAツールがすごい!2019
このPHP QAツールがすごい!2019
sasezaki
Presentation of basics of Superscalar, Hardware threading(hyper threading), Multicore technology.
CPUの同時実行機能
CPUの同時実行機能
Shinichiro Niiyama
GPUとは何か、GPUをJavaで使うにはどうするか
GPUをJavaで使う話(Java Casual Talks #1)
GPUをJavaで使う話(Java Casual Talks #1)
なおき きしだ
社内向けに発表した研究会のスライドです。ハイライト版が以下のブログです。 「深層強化学習のself-playで遊んでみた」:https://recruit.gmo.jp/engineer/jisedai/blog/self-play/ 結果のアニメーションが以下のgithubにあります。 https://github.com/jkatsuta/17_4q_supplement 2017/10に発表されたBansal+17を参考に、深層強化学習のself-playを使って、2体のAgentを戦わせることで複雑な行動の学習を試みた結果について話しました。論文にはない初期位置などでも学習をさせて、どのように変化するかの考察などもしました。
深層強化学習の self-playで、複雑な行動を機械に学習させたい!
深層強化学習の self-playで、複雑な行動を機械に学習させたい!
Junichiro Katsuta
DeNAではUnityを使って多くのゲームを開発していますが、Unityはいま、かつてない規模の大きな変革の時を迎えています。この大きなうねりのなかで、何が変わろうとしているかを知り、そして変化によって生まれる価値を正しく認識して開発に取り入れることができれば、Unityでのゲーム開発の効率を大きく改善させていくことができます。本セッションでは、Unityに今どのような改善がなされているのかについて話した上で、DeNAがその領域に対して今までどのように対処してきて、Unityの改善を受けてそれをどのように生かしてゲーム開発の現場に取り入れようとしているのかについてピックアップして説明していきます。
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
DeNA
株式会社Preferred Infrastructureの会社紹介と製品紹介です。
PFI会社案内
PFI会社案内
Preferred Networks
メタプログラミングって何だろう
メタプログラミングって何だろう
Kota Mizushima
コアコンセプトテクノロジー開発事解析業部の東さんの発表 関数型言語に搭載されているPaser Combinatorの説明と使い方 常駐先の実業務で、「今まさにやろうとしていたことが、これで解決できそうだ」という方も現れ、実務に直結するセッションに成りました。 専門的なお話になりましたが、活発な意見や議論が出来ました。
Parser combinatorってなんなのさ
Parser combinatorってなんなのさ
cct-inc
ビットを数える(x86/x64最適化勉強会1)
x86x64 SSE4.2 POPCNT
x86x64 SSE4.2 POPCNT
takesako
Was ist angesagt?
(20)
CuPy解説
CuPy解説
ACRi HLSチャレンジ 高速化テクニック紹介
ACRi HLSチャレンジ 高速化テクニック紹介
Raft
Raft
プログラムを高速化する話
プログラムを高速化する話
C#で速度を極めるいろは
C#で速度を極めるいろは
Python と型アノテーション
Python と型アノテーション
Pythonによる黒魔術入門
Pythonによる黒魔術入門
文献紹介:VideoCLIP: Contrastive Pre-training for Zero-shot Video-Text Understanding
文献紹介:VideoCLIP: Contrastive Pre-training for Zero-shot Video-Text Understanding
Glibc malloc internal
Glibc malloc internal
C++ マルチスレッド 入門
C++ マルチスレッド 入門
C#/.NETがやっていること 第二版
C#/.NETがやっていること 第二版
このPHP QAツールがすごい!2019
このPHP QAツールがすごい!2019
CPUの同時実行機能
CPUの同時実行機能
GPUをJavaで使う話(Java Casual Talks #1)
GPUをJavaで使う話(Java Casual Talks #1)
深層強化学習の self-playで、複雑な行動を機械に学習させたい!
深層強化学習の self-playで、複雑な行動を機械に学習させたい!
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
PFI会社案内
PFI会社案内
メタプログラミングって何だろう
メタプログラミングって何だろう
Parser combinatorってなんなのさ
Parser combinatorってなんなのさ
x86x64 SSE4.2 POPCNT
x86x64 SSE4.2 POPCNT
Ähnlich wie PHP7で変わること ——言語仕様とエンジンの改善ポイント
第85回PHP勉強会資料
PHP7はなぜ速いのか
PHP7はなぜ速いのか
Yoshio Hanawa
PHPNGの動向
PHPNGの動向
Yoshio Hanawa
第94回PHP勉強会(2015/10/1) 発表資料
PHP7の拡張モジュール事情
PHP7の拡張モジュール事情
Yoshio Hanawa
CodeCamp LT大会のLTスライドです。 PHPフレームワークのPhalconを使ってREST APIを作った話をしました。主にPhalconの紹介をしています。
爆速フレームワークでREST APIを作った話
爆速フレームワークでREST APIを作った話
Shohei Tai
Phpのはなし
Phpのはなし
Phpのはなし
Serverworks Co.,Ltd.
PHPでアプリケーションサーバーを書く話。
Phpでアプリケーションサーバー
Phpでアプリケーションサーバー
k-motoyan
PHP カンファレンス 2020 の発表資料 本番で使ったものにスタイルの修正 / リンクの追加など若干の手直しを入れています 本番でうまくデモが動かなかったので、後から録画を幾つか上げています https://twitter.com/sji_ch/status/1337774274606555141 https://twitter.com/sji_ch/status/1337690042165149697 https://twitter.com/sji_ch/status/1337693697907933186
PHP 8 で Web 以外の世界の扉を叩く
PHP 8 で Web 以外の世界の扉を叩く
shinjiigarashi
2015/07/26 WordCamp Kansai 2015
先取り!PHP 7 と WordPress
先取り!PHP 7 と WordPress
Masashi Shinbara
PHPカンファレンス北海道 php技術者認定上級試験を受けてみた
PHPカンファレンス北海道 php技術者認定上級試験を受けてみた
Fumito Mizuno
PHP Conference Tokyo 2007のプレゼンです。
PHPの今とこれから2007
PHPの今とこれから2007
Rui Hirokawa
PHP BLT #1 発表資料
php-buildがいかに便利かを力説する
php-buildがいかに便利かを力説する
Yoshio Hanawa
PHP Conference Tokyo 2006のプレゼンです。
PHPの今とこれから2006
PHPの今とこれから2006
Rui Hirokawa
Laravel/Vue.js 勉強会 #11
Laravel5.5から6.4にアップグレードしたときに必要だった7つのこと
Laravel5.5から6.4にアップグレードしたときに必要だった7つのこと
Yuta Ohashi
Go Conference 2015 Winter 発表資料
PHPの拡張モジュールをGoで作る
PHPの拡張モジュールをGoで作る
Yoshio Hanawa
2014/06/26に TechLION vol.17 で発表したPHPカンファレンスの紹介資料です。
[TechLION] PHP Conference Japan 2014
[TechLION] PHP Conference Japan 2014
Yuki MAEJIMA
第 102 回 PHP 勉強会での発表資料です。 前半では、PHP 7.1 での導入が決まっている新機能のいくつかを簡単に紹介します。後半では、賛否が分かれた RFC の例として "var" Deprecation を取り上げ、この RFC に対する議論を紹介します。
RFC: "var" Deprecation
RFC: "var" Deprecation
y-uti
PHP Conference Tokyo 2005のプレゼンです。
PHPの今と未来を語る
PHPの今と未来を語る
Rui Hirokawa
CodeIgniterカンファレンス東京で発表した資料です。
CodeIgniter Con Tokyo 2011 資料
CodeIgniter Con Tokyo 2011 資料
Takako Miyagawa
2017 年 6 月 10 日に開催された PHP カンファレンス福岡 2017 について、勤務先で参加報告を行いました。 聴講したセッションの中から、社内のメンバーにも興味を持ってもらえそうな発表をいくつか選んで報告したものです。
PHP カンファレンス福岡 2017 参加報告
PHP カンファレンス福岡 2017 参加報告
y-uti
個人的にPHP選んで良かったことと、 PHP勉強会にすごく助けられたこと、 そしてPHP勉強会の有効な活用法についてお話します。
PHP選んで良かったこと
PHP選んで良かったこと
Wataru Terada
Ähnlich wie PHP7で変わること ——言語仕様とエンジンの改善ポイント
(20)
PHP7はなぜ速いのか
PHP7はなぜ速いのか
PHPNGの動向
PHPNGの動向
PHP7の拡張モジュール事情
PHP7の拡張モジュール事情
爆速フレームワークでREST APIを作った話
爆速フレームワークでREST APIを作った話
Phpのはなし
Phpのはなし
Phpでアプリケーションサーバー
Phpでアプリケーションサーバー
PHP 8 で Web 以外の世界の扉を叩く
PHP 8 で Web 以外の世界の扉を叩く
先取り!PHP 7 と WordPress
先取り!PHP 7 と WordPress
PHPカンファレンス北海道 php技術者認定上級試験を受けてみた
PHPカンファレンス北海道 php技術者認定上級試験を受けてみた
PHPの今とこれから2007
PHPの今とこれから2007
php-buildがいかに便利かを力説する
php-buildがいかに便利かを力説する
PHPの今とこれから2006
PHPの今とこれから2006
Laravel5.5から6.4にアップグレードしたときに必要だった7つのこと
Laravel5.5から6.4にアップグレードしたときに必要だった7つのこと
PHPの拡張モジュールをGoで作る
PHPの拡張モジュールをGoで作る
[TechLION] PHP Conference Japan 2014
[TechLION] PHP Conference Japan 2014
RFC: "var" Deprecation
RFC: "var" Deprecation
PHPの今と未来を語る
PHPの今と未来を語る
CodeIgniter Con Tokyo 2011 資料
CodeIgniter Con Tokyo 2011 資料
PHP カンファレンス福岡 2017 参加報告
PHP カンファレンス福岡 2017 参加報告
PHP選んで良かったこと
PHP選んで良かったこと
Mehr von Yoshio Hanawa
PHPerKaigi Online #1 発表資料
自宅の消費電力をリアルタイムに グラフ化してみた
自宅の消費電力をリアルタイムに グラフ化してみた
Yoshio Hanawa
PHPerKaigi 2020 (2020/2/11) 発表資料。PHPカンファレンス 2019発表の再演です。
Zend VMにおける例外の実装
Zend VMにおける例外の実装
Yoshio Hanawa
PHPカンファレンス 2019 (2019/12/01) 発表資料
Zend VMにおける例外の実装
Zend VMにおける例外の実装
Yoshio Hanawa
秋の大LT会 2019 in Aizu #4 (2019/11/02) 発表資料
ぼくのかんがえる さいきょうの銀行振込
ぼくのかんがえる さいきょうの銀行振込
Yoshio Hanawa
RCC夏期成果物発表会にお邪魔したときのLT発表資料です。
「OKグーグル! 銀行振込1000円」
「OKグーグル! 銀行振込1000円」
Yoshio Hanawa
manifes2018 発表資料
浮動小数点数とOSSのバグの話
浮動小数点数とOSSのバグの話
Yoshio Hanawa
PHPカンファレンス2017 発表資料
PHP拡張をPECLに登録してわかったこと
PHP拡張をPECLに登録してわかったこと
Yoshio Hanawa
manifes2017発表資料
GitHubからお金をもらった話
GitHubからお金をもらった話
Yoshio Hanawa
社内ミーティング用の資料です。
iOS/macOSとAndroid/Linuxのサンドボックス機構について調べた
iOS/macOSとAndroid/Linuxのサンドボックス機構について調べた
Yoshio Hanawa
第七回闇PHP勉強会 (2016/12/11) 発表資料
realpathキャッシュと OPcacheの面倒すぎる関係
realpathキャッシュと OPcacheの面倒すぎる関係
Yoshio Hanawa
PHPカンファレンス2016発表資料
家庭用ブロードバンドルータ上でWordPressを動かそう
家庭用ブロードバンドルータ上でWordPressを動かそう
Yoshio Hanawa
LLoT(2016/8/27)発表資料
Laungage Update PHP編
Laungage Update PHP編
Yoshio Hanawa
KLab社内勉強会ALM 発表資料
GitHubにバグ報告して賞金$500を頂いた話
GitHubにバグ報告して賞金$500を頂いた話
Yoshio Hanawa
第六回闇PHP勉強会発表資料
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
Yoshio Hanawa
第29回PHP勉強会発表資料です
PHPの正規表現と最長一致
PHPの正規表現と最長一致
Yoshio Hanawa
2015/1/24 江戸前セキュリティ勉強会のLT発表資料です
偶然にも500万個のSSH公開鍵を手に入れた俺たちは
偶然にも500万個のSSH公開鍵を手に入れた俺たちは
Yoshio Hanawa
zval をダイエットしてみた
zval をダイエットしてみた
Yoshio Hanawa
Zend OPcacheの速さの秘密を探る
Zend OPcacheの速さの秘密を探る
Yoshio Hanawa
第70回PHP勉強会の発表資料です。
浮動小数点数の話 2013年度版
浮動小数点数の話 2013年度版
Yoshio Hanawa
PHP-FPMとuWSGI——mod_php以外の選択肢を探る
PHP-FPMとuWSGI——mod_php以外の選択肢を探る
Yoshio Hanawa
Mehr von Yoshio Hanawa
(20)
自宅の消費電力をリアルタイムに グラフ化してみた
自宅の消費電力をリアルタイムに グラフ化してみた
Zend VMにおける例外の実装
Zend VMにおける例外の実装
Zend VMにおける例外の実装
Zend VMにおける例外の実装
ぼくのかんがえる さいきょうの銀行振込
ぼくのかんがえる さいきょうの銀行振込
「OKグーグル! 銀行振込1000円」
「OKグーグル! 銀行振込1000円」
浮動小数点数とOSSのバグの話
浮動小数点数とOSSのバグの話
PHP拡張をPECLに登録してわかったこと
PHP拡張をPECLに登録してわかったこと
GitHubからお金をもらった話
GitHubからお金をもらった話
iOS/macOSとAndroid/Linuxのサンドボックス機構について調べた
iOS/macOSとAndroid/Linuxのサンドボックス機構について調べた
realpathキャッシュと OPcacheの面倒すぎる関係
realpathキャッシュと OPcacheの面倒すぎる関係
家庭用ブロードバンドルータ上でWordPressを動かそう
家庭用ブロードバンドルータ上でWordPressを動かそう
Laungage Update PHP編
Laungage Update PHP編
GitHubにバグ報告して賞金$500を頂いた話
GitHubにバグ報告して賞金$500を頂いた話
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
PHPの正規表現と最長一致
PHPの正規表現と最長一致
偶然にも500万個のSSH公開鍵を手に入れた俺たちは
偶然にも500万個のSSH公開鍵を手に入れた俺たちは
zval をダイエットしてみた
zval をダイエットしてみた
Zend OPcacheの速さの秘密を探る
Zend OPcacheの速さの秘密を探る
浮動小数点数の話 2013年度版
浮動小数点数の話 2013年度版
PHP-FPMとuWSGI——mod_php以外の選択肢を探る
PHP-FPMとuWSGI——mod_php以外の選択肢を探る
Kürzlich hochgeladen
NewSQLの可用性構成パターン (OCHaCafe Season 8 #4 発表資料) 2024年5月8日(水) NTTデータグループ 技術開発本部 小林 隆浩
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
2024年5月8日 Power Platform 勉強会 #1 LT資料
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
LoRaWANスマート距離検出センサー DS20Lカタログ
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
2024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Key topics covered: - Understanding Ballerina's role in integrations: features and advantages - Designing and implementing REST APIs for integration - Designing and implementing GraphQL services with Ballerina - Monitoring and observing applications - Introduction to data integration
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
This is an introduction to MAPPO's paper.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
Syed Talal Wasim, Muzammal Naseer, Salman Khan, Ming-Hsuan Yang, Fahad Shahbaz Khan , "Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Grounding" arXiv2024 https://arxiv.org/abs/2401.00901v2
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
2024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
2022年10月27日に社内向けに開催した勉強会資料の社外公開版です(発表8分程度)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
Jue Wang, Wentao Zhu, Pichao Wang, Xiang Yu, Linda Liu, Mohamed Omar, Raffay Hamid, " Selective Structured State-Spaces for Long-Form Video Understanding" CVPR2023 https://openaccess.thecvf.com/content/CVPR2023/html/Wang_Selective_Structured_State-Spaces_for_Long-Form_Video_Understanding_CVPR_2023_paper.html
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
Kürzlich hochgeladen
(12)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
PHP7で変わること ——言語仕様とエンジンの改善ポイント
1.
What’s new in
PHP7 PHP7で変わること ̶̶言語仕様とエンジンの改善ポイント hnw PHPカンファレンス関西2015 (2015/5/30)発表資料
2.
自己紹介 ❖ @hnw ❖ 勤務先:KLab株式会社 ❖
カレーとバグが大好物 ❖ PHP歴15年 ❖ PHPや周辺エクステンションにバグレポ・PR多数
3.
アジェンダ ❖ PHP7、さいきんどう? ❖ PHP7の新機能 ❖
性能改善と背景 ❖ データ構造の変更 ❖ HHVMとPHP
4.
まずはアンケート
5.
PHP7って 聞いたことがある人?
6.
実際にPHP7を 動かしたことがある人?
7.
❖ PHP7、さいきんどう? ❖ PHP7の新機能 ❖
性能改善と背景 ❖ データ構造の変更 ❖ HHVMとPHP
8.
PHP7? ❖ PHP 5.6.xの次のバージョンがPHP
7.0.0 ❖ PHP6はスキップ ❖ 約10年ぶりのメジャーバージョンアップ
9.
さいきんのPHP7 ❖ 予定通り3月に新機能の導入を凍結 ❖ RFCが大量に出ていたので個人的に心配していた ❖
そろそろalpha1を出す予定だったが、遅延ぎみ ❖ まだ議論が残っているため ❖ 11月にPHP7リリース予定
10.
PHPのRFCシステム ❖ 新機能の導入にはRFCと呼ばれる説明ページが必要 ❖ 提案内容や変更による影響などを書く ❖
MLで議論後、投票によって採用・不採用が決まる ❖ 過半数または2/3以上の同意が必要(内容による) ❖ スピード感は無いが、十分機能している印象
11.
PHP7に対するRFC ❖ PHP7で採択されたRFCは48個 ❖ 参考:PHP
5.6は17個、PHP 5.5は20個 →普段のマイナーバージョンアップよりは変化が大きい
12.
PHP7で変わらないこと ❖ PHPは言語仕様の変更に対して非常に保守的 ❖ PHP7でも後方互換性は重視されている ❖
移行コストは十分低いはず
13.
❖ PHP7、さいきんどう? ❖ PHP7の新機能 ❖
性能改善と背景 ❖ データ構造の変更 ❖ HHVMとPHP
14.
致命的エラーが例外になった ❖ PHP5までの致命的エラー ❖ エラーハンドリングできず、即座に終了していた ❖
PHP7の致命的エラー ❖ EngineExceptionという新しい例外になった ❖ トップレベルに到達すると今まで通りのエラーになる →ユニットテストで致命的エラーから復帰できる
15.
??演算子の新設 ❖ nullでなければその値を、nullなら右オペランドを返す ❖ isset()と同様に未定義値に対しても使える ❖
ようやくisset()地獄から解放されるぞ!
16.
無名クラスの導入 ❖ クラス定義と同時にインスタンス化できる構文を導入 ❖ その場限りのインスタンスを作りたいときに便利
17.
AST(抽象構文木)の導入 ❖ 解釈フェーズが 1段増えた ❖ 文法解釈の柔軟性が 上がった ❖
opcode最適化 Zend VM opcode Parser Lexer token PHP Zend VM opcode Parser Lexer token PHP Opcode Compiler AST PHP 5 PHP 7
18.
返り値のタイプヒントをサポート ❖ 関数の返り値に型が指定できるようになった ❖ 抽象クラスやインターフェースで指定すると便利
19.
スカラ型のタイプヒントをサポート ❖ 以下の型が引数・返り値で指定できるようになった ❖ int型 ❖
float型 ❖ string型 ❖ bool型 ❖ ようやく落としどころが見つかった
20.
非推奨だった機能を廃止 ❖ PHP5.6までに非推奨になった機能をPHP7で廃止 ❖ ereg関数(preg関数使ってね) ❖
mysql関数(mysqli関数かPDO使ってね) ❖ その他
21.
非推奨だった機能を廃止 ❖ 今までもdeprecated(非推奨)エラーが出ていたはず ❖ いま開発環境が
E_DEPRECATEDの人は注意 ❖ php.iniが空だとdeprecatedエラーは出ません
22.
❖ PHP7、さいきんどう? ❖ PHP7の新機能 ❖
性能改善と背景 ❖ データ構造の変更 ❖ HHVMとPHP
23.
PHP7は速いらしい ❖ 「PHP5より倍速い」 ❖ 「HHVMとほぼ互角」 ❖
ホントに?
24.
PHP7の性能(1) Zeevのブログ記事(2014/7)より
25.
PHP7の性能(2) DmitryのZendCon 2014での発表(2014/10)より
26.
PHP7の性能(3) RasmusのFluent 2015での発表(2015/4)より
27.
PHP7の性能(4) ❖ ごく最近まで性能改善が続いている
28.
速くなりすぎ? ❖ PHP7は確かに速い ❖ この1年で倍の高速化(WordPressで比較) ❖
今までも性能改善をサボっていたわけじゃない ❖ 10年間(PHP5.0→5.6)で倍の高速化 ❖ 5.4以降は頭打ちの感さえあった
29.
何があったのか? ❖ 現代のCPUに合わせて大幅なデータ構造変更を行った ❖ データ量の削減・データ局所性の改善 ❖
高速化チームの裁量が大きかった ❖ RFC「Move the phpng branch into master」 ❖ 様々なアイデアを約1年間に渡って実現
30.
❖ PHP7、さいきんどう? ❖ PHP7の新機能 ❖
性能改善と背景 ❖ データ構造の変更 ❖ HHVMとPHP
31.
データ構造の変更 ❖ PHP7で見直したデータ構造 ❖ PHPの変数(zval) ❖
文字列(zend_string) ❖ 配列(HashTable / Bucket) ❖ 特にzvalの見直しは非常に大胆だが有効だった
32.
データ構造変更の必要性(1) ❖ これまでのデータ構造は32bit CPUの頃の設計 ❖
16bytes中14bytesを使う構造だった ❖ 64bit CPUでは24bytes中6bytesが未使用 ❖ 64bit時代に対応したデータ構造が必要
33.
データ構造変更の必要性(2) ❖ キャッシュを効率的に使う発想が無い頃の設計 ❖ メモリやキャッシュが相対的に速かった ❖
現代のCPUではキャッシュを有効活用する必要性 ❖ CPU速度に比べるとメモリ速度の改善は鈍い ❖ キャッシュサイズもあまり増えていない
34.
PHP5のzval(int型) ❖ 計24bytes ❖ 常にポインタ参照される ❖
参照カウント&コピーオンライト
35.
PHP7のzval(int型) ❖ 計16bytes ❖ 参照カウントしない、代入では常にコピー
36.
新zvalへの評価 ❖ どの環境でも16bytes →64bit時代に対応 ❖ ポインタ参照が1段減った ❖
int型・float型・bool型でコピーオンライト廃止 →メモリ消費量減少 →キャッシュに優しくなった
37.
❖ PHP7で我々は本物の配列を手に入れた! 配列にも大改革
38.
❖ PHP7で我々は本物の配列を手に入れた! 配列にも大改革
39.
配列とは ❖ (典型的には)連続するメモリ領域を確保する ❖ インデックスは0から連続する数字 ❖
読み書きが高速 リンゴ バナナ トマト ニンジン 0 1 2 3
40.
連想配列とは ❖ 文字列をキーにできる ❖ そこそこ読み書きも速い(配列よりは遅い) "apple" 0 "banana"
"carrot" 1 2 3 4 5 6 7 キーのハッシュ値を計算 "apple"=>リンゴ"banana"=>バナナ "tomato"=>トマト "tomato" "carrot"=>ニンジン
41.
PHP5の配列 ❖ PHP5までは連想配列しか無かった ❖ $array[1]でも連想配列アクセスしていた ❖
他の言語の配列に比べると遅かった
42.
PHP7の配列 ❖ PHP7から配列と連想配列が作れるようになった ❖ 内部で自動的に選択される ❖
キーが0から連続する数字なら配列になる →for文での配列のループ処理が高速になった
43.
PHP7の配列 arData flagsrefcount type gc_info zend_array u
nTableMask nNumUsed nNumOfElements nTableSize nInternalPointer nNextFreeElement pDestructor zval Bucket[] h (hash value) key (キーへのポインタ) h key 0 1 h key 2 zval zval ❖ 他言語の配列と同じ構造 (数字キーのみの場合)
44.
Bucket構造体の改善 ❖ Bucket構造体:配列の要素1個に対応するデータ構造 ❖ PHP5(72bytes)→PHP7(32bytes) ❖
メモリ使用量が劇的に減った →配列のメモリ効率が良くなった
45.
Bucket構造体の改善 ❖ PHP7ではBucketの配列を連続領域に確保 ❖ PHP5では1個ずつメモリ確保していた →foreach文でのアクセス速度が有利に
46.
❖ PHP7、さいきんどう? ❖ PHP7の新機能 ❖
性能改善と背景 ❖ データ構造の変更 ❖ HHVMとPHP
47.
HHVMとは ❖ Facebookが自社向けに開発したPHPの実装 ❖ PHP5より断然高速 ❖
PHPコアコミッターがフルタイムでHHVMにコミット ❖ OSS開発もうまく回っている →PHPでは初の「もう一つの選択肢」
48.
HHVMの評価 ❖ PHP7の登場で速度面のアドバンテージは失った ❖ JITコンパイルが効く状況では速い ❖
実アプリケーションでの差は縮まった ❖ 魅力は多い ❖ 開発の活発さ、フットワークの軽さ ❖ Hack言語の仕様面での挑戦(例:async)
49.
選択肢があることの価値 ❖ HHVMはPHPに新しい価値を与えてくれた ❖ 必要に応じて別の実装を選べる状況 ❖
PHP7での速度改善のモチベーション ❖ PythonやRubyでは当たり前の状況 ❖ お互いに良い影響を与え続ける関係が望ましい
50.
まとめ ❖ PHP7への移行のハードルは低い ❖ 便利そうな新機能が実装された ❖
高速化のため大胆なリファクタリングが行われた ❖ 現代のアーキテクチャに合わせた最適化をした ❖ 他の選択肢があることに価値がある ❖ PHPもHHVMも盛り上がっていってほしい
51.
ご静聴 ありがとう ございました
Jetzt herunterladen