summaryrefslogtreecommitdiffhomepage
path: root/slides.saty
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2025-02-22 08:42:53 +0900
committernsfisis <nsfisis@gmail.com>2025-02-22 08:42:53 +0900
commit765921d696c3d9338035996845748f61f95c2f33 (patch)
treed4b4c8b500f006fa7aaedd4945c66b353057462b /slides.saty
parent6f93cab592ddf3b8e7c544bae489ebef63a091cc (diff)
downloadphpcon-nagoya-2025-slides-765921d696c3d9338035996845748f61f95c2f33.tar.gz
phpcon-nagoya-2025-slides-765921d696c3d9338035996845748f61f95c2f33.tar.zst
phpcon-nagoya-2025-slides-765921d696c3d9338035996845748f61f95c2f33.zip
update
Diffstat (limited to 'slides.saty')
-rw-r--r--slides.saty46
1 files changed, 11 insertions, 35 deletions
diff --git a/slides.saty b/slides.saty
index 6a2ba7c..271dd89 100644
--- a/slides.saty
+++ b/slides.saty
@@ -365,23 +365,11 @@ unset($a);
+frame{参照カウント}<
+p{
- 参照カウントの利点
+ 参照カウントの特徴
}
+p{}
+listing{
* 未使用オブジェクトが即座に解放される
- * 解放にかかるコストが全体に分散する
- }
- >
-
- +frame{参照カウント}<
- +p{
- 参照カウントの欠点
- }
- +p{}
- +listing{
- * 参照の追加にコストがかかる
- * マルチスレッド/プロセス環境に向かない
* 循環参照を扱えない
}
>
@@ -649,27 +637,6 @@ unset($a);
}
>
- +frame{マークアンドスイープ}<
- +p{
- マークアンドスイープの利点
- }
- +p{}
- +listing{
- * 循環参照を解放できる
- * GC が動いていないときのオーバーヘッドがない
- }
- >
-
- +frame{マークアンドスイープ}<
- +p{
- マークアンドスイープの欠点
- }
- +p{}
- +listing{
- * GC に時間がかかる
- }
- >
-
+frame{振り返り}<
+p{
PHP の GC
@@ -707,13 +674,22 @@ unset($a);
}
+p{}
+p{
- 多くの (循環参照でない) オブジェクトは未使用になると即座に解放される
+ 循環参照でない多くのオブジェクトは未使用になると即座に解放される
}
+p{
循環参照を形成しているオブジェクトは遅れて解放される
}
>
+ +frame{おわり}<
+ +p{
+ おわり
+ }
+ +p{
+ 以降時間あれば
+ }
+ >
+
+frame{外部リソースの解放}<
+p{
\code(`fclose()`); は明示的に呼ぶべきか?