diff options
| author | nsfisis <nsfisis@gmail.com> | 2023-08-19 19:58:08 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2023-08-19 19:58:08 +0900 |
| commit | 46ba789ffbf66c88b30b9adf446470132af979b0 (patch) | |
| tree | 0b274600ad25fe3865231e598518350feb401d4d /slide.saty | |
| parent | e0fc927a113ab5ddab718d2cc35b90fd3b437e62 (diff) | |
| download | phpstudy-155-slides-46ba789ffbf66c88b30b9adf446470132af979b0.tar.gz phpstudy-155-slides-46ba789ffbf66c88b30b9adf446470132af979b0.tar.zst phpstudy-155-slides-46ba789ffbf66c88b30b9adf446470132af979b0.zip | |
スライドを作成
Diffstat (limited to 'slide.saty')
| -rw-r--r-- | slide.saty | 90 |
1 files changed, 89 insertions, 1 deletions
@@ -47,8 +47,96 @@ document '< %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +frame{なぜ PHP 3.0 か?}< + +p{ソースコード入手できる最も古いバージョン} + +p{} + +p{"PHP" が PHP: Hypertext Preprocessor の略になった最初のバージョン} + > + + +frame{ビルドする}< + +p{ソースコードをダウンロードして、./configure して make} + > + + +frame{ビルドする}< + +p{ソースコードをダウンロードして、configure して make} + +p{} + +p{動いた。} + > + + +frame{いろいろ数えてみる}< + +p{3.0.18 と 8.2.9 で比較してみる} + +p{} + > + + +frame{いろいろ数えてみる}< + +p{3.0.18 と 8.2.9 で比較してみる} + +p{} + +listing{ + * ファイル数 (マニュアル除く) + ** 412 から 2249 (約5.5倍) + } + > + + +frame{いろいろ数えてみる}< + +p{3.0.18 と 8.2.9 で比較してみる} + +p{} + +listing{ + * ファイル数 (マニュアル除く) + ** 412 から 2249 (約5.5倍) + * 行数 (マニュアル除く) + ** 174,325 から 1,950,657 (10倍以上) + } + > + + +frame{いろいろ数えてみる}< + +p{3.0.18 と 8.2.9 で比較してみる} + +p{} + +listing{ + * ファイル数 (マニュアル除く) + ** 412 から 2249 (約5.5倍) + * 行数 (マニュアル除く) + ** 174,325 から 1,950,657 (10倍以上) + * 関数 (全拡張を有効にしてビルドした場合) + ** 1313 から 2153 (約1.6倍) + } + > + + +frame{コードリーディング}< + +p{全体的な実行フローが大きく異なる} + > + + +frame{コードリーディング}< + +p{全体的な実行フローが大きく異なる} + +p{} + +p{8.2: パースして AST を構築、VM 命令を生成して実行} + +p{3.0: パースして実行} + > + + +frame{if の実行}< + +code-block-php(`<?php + +if ($x) { + foo(); +} else { + bar(); +} + +`#); + > + + +frame{トリビア}< + +p{INI の設定の y2k_compliance} + +p{} + +p{2000年問題に対応するための設定} + +p{Off にすると日付の年の出力が下2桁に変わる} + > + +frame{まとめ}< - +p{TODO} + +listing{ + * PHP 3.0 は案外ビルドできる + * 素朴な実行アーキテクチャ + * 25年の進化 + } > > |
