aboutsummaryrefslogtreecommitdiffhomepage
path: root/slide.saty
diff options
context:
space:
mode:
Diffstat (limited to 'slide.saty')
-rw-r--r--slide.saty90
1 files changed, 89 insertions, 1 deletions
diff --git a/slide.saty b/slide.saty
index 21501ba..af92bd0 100644
--- a/slide.saty
+++ b/slide.saty
@@ -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年の進化
+ }
>
>