Rumah pembangunan bahagian belakang tutorial php 使用ltrace工具跟踪PHP库函数调用的方法_PHP

使用ltrace工具跟踪PHP库函数调用的方法_PHP

May 29, 2016 am 11:46 AM
trek

本文实例讲述了使用ltrace工具跟踪PHP库函数调用的方法。分享给大家供大家参考,具体如下:

可能大家已经很熟悉使用strace来跟踪系统调用,今天介绍一个跟踪库函数的利器ltrace

比如我有这么一段PHP代码

test.php:

<&#63;php
 $y = '1380';
 $arr = array();
 for($i = 0; $i < 2000; $i ++){
   $arr[] = "{$i}"; //故意用引号包起来设成字符串
 }
 for($i = 0; $i < 2000; $i ++){
   if(!in_array($y, $arr)) continue;
 }
&#63;>

Salin selepas log masuk

ltrace -c /usr/local/php/bin/php test.php (-c表示汇总)

会看到输出如下:

% time   seconds usecs/call   calls   function
------ ----------- ----------- --------- --------------------
95.02  7.417240     368   20146 strtol
2.15  7.160390     413   17316 memcpy
1.63  5.522641     240   22966 free
 0.67  2.275374   2275374     1 curl_global_cleanup
 0.54  2.235466     617   3618 __ctype_tolower_loc
 0.16  2.123547    1194   1778 strrchr
 0.17  1.532224     67   22836 malloc
 0.29  0.382083     67   5678 strlen

Salin selepas log masuk

可以看到 strtol几乎用去了执行时间的95.02%,瓶颈就找出来了。及PHP会在in_array()测试时试图将字符串行数字转换为long,这会耗费大量时间。所以只要将字符串都转换为整形即可大幅度提高效率。

ltrace真心是个好工具

希望本文所述对大家PHP程序设计有所帮助。

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)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan 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)

Pengesanan laluan dan pengesanan sinar untuk kesan visual permainan Pengesanan laluan dan pengesanan sinar untuk kesan visual permainan Feb 19, 2024 am 11:36 AM

Keputusan untuk menggunakan pengesanan laluan atau pengesanan sinar ialah pilihan penting untuk pembangun permainan. Walaupun kedua-duanya berprestasi baik secara visual, terdapat beberapa perbezaan dalam aplikasi praktikal. Oleh itu, peminat permainan perlu berhati-hati menimbang kelebihan dan kekurangan kedua-duanya untuk menentukan teknologi mana yang lebih sesuai untuk mencapai kesan visual yang mereka inginkan. Apakah pengesanan sinar? Pengesanan sinar ialah teknik pemaparan kompleks yang digunakan untuk mensimulasikan perambatan dan interaksi cahaya dalam persekitaran maya. Tidak seperti kaedah rasterisasi tradisional, pengesanan sinar menjana pencahayaan dan kesan bayang yang realistik dengan menjejak laluan cahaya, memberikan pengalaman visual yang lebih realistik. Teknologi ini bukan sahaja menghasilkan imej yang lebih realistik, tetapi juga mensimulasikan kesan pencahayaan yang lebih kompleks, menjadikan pemandangan kelihatan lebih realistik dan terang. konsep utamanya

Cara menggunakan pengelogan untuk menjejaki pelaksanaan program dalam C# Cara menggunakan pengelogan untuk menjejaki pelaksanaan program dalam C# Oct 09, 2023 pm 03:51 PM

Cara menggunakan pengelogan untuk menjejaki operasi atur cara dalam C# memerlukan contoh kod khusus Pengenalan: Semasa membangunkan perisian, selalunya perlu untuk menjejak dan merekodkan pengendalian program supaya masalah dapat ditemui dengan tepat apabila masalah berlaku. Pengelogan ialah cara teknikal penting yang boleh merekodkan status berjalan, maklumat ralat dan maklumat penyahpepijatan program untuk memudahkan lokasi tidak normal dan penyelesaian masalah. Artikel ini akan memperkenalkan cara menggunakan pengelogan untuk menjejak operasi program dalam C#, dan memberikan contoh kod khusus. 1. Pemilihan perpustakaan pembalakan Dalam C#, terdapat banyak yang sangat baik

Kaedah pelaksanaan fungsi pengesanan status pesanan sistem belanja makanan yang dibangunkan dalam PHP Kaedah pelaksanaan fungsi pengesanan status pesanan sistem belanja makanan yang dibangunkan dalam PHP Nov 02, 2023 pm 02:28 PM

Kaedah pelaksanaan fungsi pengesanan status pesanan sistem membeli-belah sayur-sayuran dibangunkan dalam PHP Dengan perkembangan pesat e-dagang, semakin ramai orang mula membeli barangan keperluan harian secara dalam talian, termasuk bahan-bahan harian dan sayur-sayuran. Bagi memudahkan pengguna membeli sayur-sayuran, banyak sistem membeli-belah sayur-sayuran telah mula muncul, menyediakan pengguna dengan perkhidmatan pembelian, pembayaran dan penghantaran dalam talian. Dalam sistem beli-belah runcit, fungsi penjejakan status pesanan amat penting, membolehkan pengguna memahami status pesanan mereka dalam masa nyata, sekali gus meningkatkan pengalaman membeli-belah pengguna. Artikel ini akan memperkenalkan pelaksanaan fungsi penjejakan status pesanan sistem beli-belah runcit yang dibangunkan dalam PHP.

Petua penyahpepijatan PHP: Cara menggunakan fungsi debug_backtrace untuk mengesan laluan pelaksanaan kod Petua penyahpepijatan PHP: Cara menggunakan fungsi debug_backtrace untuk mengesan laluan pelaksanaan kod Jul 29, 2023 am 10:24 AM

Petua penyahpepijatan PHP: Cara menggunakan fungsi debug_backtrace untuk mengesan laluan pelaksanaan kod Pengenalan: Semasa proses pembangunan, anda sering menghadapi situasi di mana anda perlu mengesan laluan pelaksanaan kod untuk mengetahui di mana ralat itu. PHP menyediakan debug_backtrace fungsi yang sangat berguna, yang boleh digunakan untuk mendapatkan maklumat tindanan panggilan fungsi, dengan itu membantu kami menjejaki ralat. Artikel ini akan memperkenalkan penggunaan fungsi debug_backtrace dan memberikan beberapa contoh penggunaan. 1. debug_back

Ralat menjejak dan mengelog menggunakan kelas pengendalian ralat PHP Ralat menjejak dan mengelog menggunakan kelas pengendalian ralat PHP Aug 08, 2023 pm 02:22 PM

Menggunakan kelas pengendalian ralat PHP untuk pengesanan ralat dan pengendalian ralat merekod adalah bahagian yang sangat penting dalam proses pembangunan dan boleh membantu kami menjejak dan menyelesaikan pepijat dalam program. Dalam PHP, kita boleh menggunakan fungsi pengendalian ralat terbina dalam dan kelas pengendalian ralat tersuai untuk mengendalikan ralat yang berlaku semasa program berjalan. Artikel ini akan memperkenalkan cara menggunakan kelas pengendalian ralat PHP untuk penjejakan dan pengelogan ralat. Mula-mula kita perlu membuat kelas pengendalian ralat tersuai. Kelas pengendalian ralat boleh mewarisi daripada ralat terbina dalam PHP

Panduan Pelaksanaan untuk UniApp Melaksanakan Pesanan Bawa Pulang dan Penjejakan Penghantaran Panduan Pelaksanaan untuk UniApp Melaksanakan Pesanan Bawa Pulang dan Penjejakan Penghantaran Jul 04, 2023 am 09:03 AM

Pengenalan kepada Panduan UniApp untuk Melaksanakan Pesanan Bawa Keluar dan Penjejakan Penghantaran: Dengan perkembangan pesat pasaran bawa pulang, semakin ramai orang memilih untuk memesan bawa pulang dan menghantarnya melalui APP mudah alih, yang membawa lebih banyak peluang perniagaan dan cabaran kepada industri katering. Sebagai rangka kerja pembangunan merentas platform, UniApp boleh membangunkan aplikasi berbilang platform dengan cepat dan cekap. Artikel ini akan memperkenalkan cara menggunakan UniApp untuk melaksanakan pesanan bawa pulang dan fungsi penjejakan penghantaran, serta melampirkan contoh kod yang berkaitan. 1. Analisis keperluan Log masuk pengguna: Pengguna perlu lulus nombor telefon bimbit mereka atau

Cara menggunakan PHP dan Xunsearch untuk penjejakan hasil carian dan analisis log Cara menggunakan PHP dan Xunsearch untuk penjejakan hasil carian dan analisis log Aug 05, 2023 pm 07:45 PM

Cara menggunakan PHP dan Xunsearch untuk penjejakan hasil carian dan analisis log Dengan perkembangan pesat Internet, enjin carian telah menjadi bahagian yang amat diperlukan dalam kehidupan seharian kita. Sama ada membeli-belah, penyelidikan akademik atau perundingan hiburan, enjin carian boleh membantu kami mendapatkan maklumat yang kami perlukan. Bagi pembangun enjin carian, adalah sangat penting untuk memahami tingkah laku carian pengguna dan menganalisis kualiti hasil carian. Artikel ini akan memperkenalkan cara menggunakan PHP dan Xunsearch untuk penjejakan hasil carian dan analisis log. pertama,

Kaedah dan teknik untuk menyahpepijat dan menyelesaikan isu keselamatan rangkaian Linux Kaedah dan teknik untuk menyahpepijat dan menyelesaikan isu keselamatan rangkaian Linux Jun 30, 2023 pm 11:13 PM

Bagaimana untuk menyahpepijat dan menyelesaikan masalah keselamatan rangkaian dalam sistem Linux Dengan perkembangan pesat Internet, keselamatan rangkaian telah menjadi topik yang semakin penting. Sebagai salah satu sistem pengendalian yang paling popular, sistem Linux mempunyai kelebihan tertentu dalam keselamatan rangkaian. Walau bagaimanapun, walaupun sistem Linux tidak sepenuhnya kebal terhadap serangan siber. Oleh itu, adalah penting untuk mengetahui cara menyahpepijat dan menyelesaikan isu keselamatan rangkaian dalam sistem Linux. Artikel ini akan merangkumi beberapa isu keselamatan rangkaian biasa dan memberikan beberapa cadangan serta petua untuk menyahpepijat dan menyelesaikannya.

See all articles