diff options
| author | nsfisis <nsfisis@gmail.com> | 2025-02-22 08:42:53 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2025-02-22 08:42:53 +0900 |
| commit | 765921d696c3d9338035996845748f61f95c2f33 (patch) | |
| tree | d4b4c8b500f006fa7aaedd4945c66b353057462b /slides.saty | |
| parent | 6f93cab592ddf3b8e7c544bae489ebef63a091cc (diff) | |
| download | phpcon-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.saty | 46 |
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()`); は明示的に呼ぶべきか? |
