Rumah pembangunan bahagian belakang tutorial php PHP特点之垃圾回收机制3——性能方面考虑的因素

PHP特点之垃圾回收机制3——性能方面考虑的因素

Mar 14, 2017 pm 05:06 PM

在上一节我们已经简单的提到:回收可能根有细微的性能上影响,但这是把PHP 5.2与PHP 5.3比较时才有的。尽管在PHP 5.2中,记录可能根相对于完全不记录可能根要慢些,而PHP 5.3中对 PHP run-time 的其他修改减少了这个性能损失。
这里主要有两个领域对性能有影响。第一个是内存占用空间的节省,另一个是垃圾回收机制执行内存清理时的执行时间增加(run-time delay)。我们将研究这两个领域。
内存占用空间的节省
首先,实现垃圾回收机制的整个原因是为了,一旦先决条件满足,通过清理循环引用的变量来节省内存占用。在PHP执行中,一旦根缓冲区满了或者调用 gc_collect_cycles()函数时,就会执行垃圾回收。在下图中,显示了下面脚本分别在PHP 5.2 和 PHP 5.3环境下的内存占用情况,其中排除了脚本启动时PHP本身占用的基本内存。
Example #1 内存使用示例 

<?php  
    class Foo  
    {  
        public $var = '3.1415962654';  
    }  
  
    $baseMemory = memory_get_usage();  
  
    for ( $i = 0; $i <= 100000; $i++ )  
    {  
        $a = new Foo;  
        $a->self = $a;  
        if ( $i % 500 === 0 )  
        {  
            echo sprintf( '%8d: ', $i ), memory_get_usage() - $baseMemory, "\n";  
        }  
    }  
?>
Salin selepas log masuk

以上就是PHP特点之垃圾回收机制3——性能方面考虑的因素的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Artikel untuk bercakap tentang mekanisme kutipan sampah dalam php Artikel untuk bercakap tentang mekanisme kutipan sampah dalam php Aug 26, 2022 am 10:48 AM

Artikel ini akan memberi anda pemahaman yang mendalam tentang mekanisme pengumpulan sampah dalam PHP. Saya harap ia akan membantu anda!

Menyahsulit pengurusan memori dan mekanisme pengumpulan sampah bahasa Go Menyahsulit pengurusan memori dan mekanisme pengumpulan sampah bahasa Go Nov 30, 2023 am 09:17 AM

Bahasa Go ialah bahasa pengaturcaraan yang cekap, selamat dan serentak Reka bentuk pengurusan memori dan mekanisme pengumpulan sampah juga merupakan ciri uniknya. Artikel ini akan menyahsulit pengurusan memori dan mekanisme pengumpulan sampah bahasa Go secara mendalam. 1. Pengurusan memori Dalam bahasa Go, pengurusan memori merangkumi dua aspek: peruntukan memori dan pelepasan memori. 1.1 Peruntukan memori Dalam bahasa Go, kami memperuntukkan memori melalui fungsi terbina dalam baharu dan buat. Antaranya, baru mengembalikan penunjuk kepada nilai sifar yang baru diperuntukkan, manakala membuat pulangan jenis tertentu dan panjangnya.

Bagaimana untuk menyelesaikan masalah biasa pelepasan memori dalam fungsi Java? Bagaimana untuk menyelesaikan masalah biasa pelepasan memori dalam fungsi Java? May 02, 2024 am 09:57 AM

Pengurusan memori dalam Java melibatkan pengumpulan sampah, tetapi masalah masih boleh timbul. Masalah biasa termasuk kebocoran memori dan pemecahan memori. Kebocoran memori disebabkan oleh objek yang memegang rujukan yang tidak lagi diperlukan dan boleh diselesaikan dengan mengelakkan rujukan bulat, menggunakan rujukan yang lemah dan mengehadkan skop pembolehubah. Pemecahan memori disebabkan oleh peruntukan yang kerap dan deallocation dan boleh diselesaikan dengan menggunakan kolam memori, kolam objek besar dan pengumpulan sampah padat. Sebagai contoh, menggunakan rujukan yang lemah boleh mengendalikan kebocoran memori dan memastikan bahawa pemungut sampah menuntut semula objek apabila ia tidak lagi diperlukan.

Pemahaman mendalam tentang prinsip pembangunan asas PHP: pengurusan memori dan mekanisme pengumpulan sampah Pemahaman mendalam tentang prinsip pembangunan asas PHP: pengurusan memori dan mekanisme pengumpulan sampah Sep 10, 2023 pm 02:30 PM

Pemahaman mendalam tentang prinsip pembangunan asas PHP: pengurusan memori dan mekanisme pengumpulan sampah Pengenalan: PHP, sebagai bahasa pengaturcaraan peringkat tinggi, digunakan secara meluas dalam pembangunan Web. Ramai pembangun biasa dengan sintaks dan ciri PHP, tetapi mungkin kurang memahami prinsip pembangunan asas PHP. Artikel ini akan meneroka secara mendalam pengurusan memori dan mekanisme pengumpulan sampah dalam prinsip pembangunan asas PHP untuk membantu pembaca memahami dengan lebih baik mekanisme pengendalian PHP. 1. Pengurusan memori PHP Peruntukan dan pelepasan memori Pengurusan memori dalam PHP dikendalikan oleh enjin Zend

深入解析Python中的垃圾回收机制 深入解析Python中的垃圾回收机制 Mar 29, 2018 pm 01:20 PM

得益于Python的自动垃圾回收机制,在Python中创建对象时无须手动释放。这对开发者非常友好,让开发者无须关注低层内存管理。但如果对其垃圾回收机制不了解,很多时候写出的Python代码会非常低效。

Terokai ciri pengurusan memori dan mekanisme pengumpulan sampah bahasa Go Terokai ciri pengurusan memori dan mekanisme pengumpulan sampah bahasa Go Jan 23, 2024 am 10:07 AM

Meneroka mekanisme kutipan sampah dan ciri pengurusan memori Bahasa Go Pengenalan: Dengan pembangunan Internet, pembangun mempunyai keperluan yang semakin tinggi untuk bahasa pengaturcaraan. Sebagai bahasa yang ditaip dan disusun secara statik, bahasa Go telah menarik banyak perhatian sejak penubuhannya disebabkan oleh mekanisme pengumpulan sampah yang cekap dan ciri pengurusan memori. Artikel ini bertujuan untuk meneroka secara mendalam mekanisme pengumpulan sampah bahasa Go dan ciri pengurusan memorinya, dan membantu pembaca memahami dan menggunakan ciri ini dengan lebih baik melalui contoh kod khusus. 1. Mekanisme kutipan sampah 1.1 algoritma imbasan tanda bahasa Go

Teroka: Peringkat pembangunan berbeza mekanisme kutipan sampah JVM Teroka: Peringkat pembangunan berbeza mekanisme kutipan sampah JVM Feb 23, 2024 pm 05:36 PM

Analisis mendalam: Evolusi kepelbagaian mekanisme kutipan sampah JVM memerlukan contoh kod khusus 1. Pengenalan Dengan perkembangan sains komputer, mekanisme kutipan sampah memainkan peranan penting dalam JVM (Java Virtual Machine). Evolusi kepelbagaian mekanisme pengumpulan sampah JVM adalah untuk meningkatkan prestasi dan pengurusan memori program Java. Artikel ini akan memberikan analisis mendalam tentang evolusi khusus mekanisme pengumpulan sampah JVM dan menyediakan contoh kod khusus untuk membantu pembaca memahami dengan lebih baik. 2. Prinsip asas mekanisme kutipan sampah dalam menerangkan mekanisme kutipan sampah JVM

Penjelasan terperinci tentang mekanisme pengumpulan sampah fungsi Golang dan aplikasi senario tersuai Penjelasan terperinci tentang mekanisme pengumpulan sampah fungsi Golang dan aplikasi senario tersuai May 16, 2023 am 08:05 AM

Golang, sebagai bahasa pengaturcaraan yang baru muncul, telah mendapat lebih banyak perhatian dan kasih sayang daripada pembangun dalam beberapa tahun kebelakangan ini. Antaranya, fungsi mekanisme kutipan sampah Golang juga menjadi sorotan, kerana ia boleh mengitar semula memori yang tidak digunakan secara dinamik pada masa jalan, dengan berkesan mengelakkan masalah seperti kebocoran memori. Artikel ini akan memperkenalkan secara terperinci mekanisme pengumpulan sampah fungsi Golang dan cara menyesuaikan aplikasi dalam senario yang berbeza. 1. Pengenalan kepada mekanisme pengumpulan sampah Golang Mekanisme pengumpulan sampah adalah mekanisme penting dalam bahasa pengaturcaraan moden.

See all articles