Maison développement back-end tutoriel php 使用ltrace工具跟踪PHP库函数调用的方法_PHP

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

May 29, 2016 am 11:46 AM
跟踪

本文实例讲述了使用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;>

Copier après la connexion

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

Copier après la connexion

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

ltrace真心是个好工具

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

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Traçage de chemin et lancer de rayons pour les effets visuels du jeu Traçage de chemin et lancer de rayons pour les effets visuels du jeu Feb 19, 2024 am 11:36 AM

La décision d’utiliser le path tracing ou le ray tracing est un choix crucial pour les développeurs de jeux. Bien qu’ils fonctionnent tous deux visuellement bien, il existe certaines différences dans les applications pratiques. Par conséquent, les passionnés de jeux doivent soigneusement peser les avantages et les inconvénients des deux afin de déterminer quelle technologie est la plus adaptée pour obtenir les effets visuels qu’ils souhaitent. Qu’est-ce que le lancer de rayons ? Le lancer de rayons est une technique de rendu complexe utilisée pour simuler la propagation et l'interaction de la lumière dans des environnements virtuels. Contrairement aux méthodes traditionnelles de rastérisation, le lancer de rayons génère des effets d'éclairage et d'ombre réalistes en traçant le chemin de la lumière, offrant ainsi une expérience visuelle plus réaliste. Cette technologie produit non seulement des images plus réalistes, mais simule également des effets d’éclairage plus complexes, rendant les scènes plus réalistes et plus vives. ses principaux concepts

Comment utiliser la journalisation pour suivre l'exécution du programme en C# Comment utiliser la journalisation pour suivre l'exécution du programme en C# Oct 09, 2023 pm 03:51 PM

Comment utiliser la journalisation pour suivre le fonctionnement du programme en C# nécessite des exemples de code spécifiques Introduction : Lors du développement de logiciels, il est souvent nécessaire de suivre et d'enregistrer le fonctionnement du programme afin que le problème puisse être détecté avec précision lorsqu'un problème survient. La journalisation est un moyen technique important qui peut enregistrer l'état d'exécution, les informations d'erreur et les informations de débogage du programme pour faciliter la localisation anormale et le dépannage. Cet article explique comment utiliser la journalisation pour suivre le fonctionnement du programme en C# et fournit des exemples de code spécifiques. 1. Sélection de bibliothèques de journalisation En C#, il en existe de nombreuses excellentes

Méthode de mise en œuvre de la fonction de suivi de l'état des commandes du système d'achat de produits alimentaires développé en PHP Méthode de mise en œuvre de la fonction de suivi de l'état des commandes du système d'achat de produits alimentaires développé en PHP Nov 02, 2023 pm 02:28 PM

Méthode de mise en œuvre de la fonction de suivi de l'état des commandes du système d'achat de légumes développé en PHP Avec le développement rapide du commerce électronique, de plus en plus de personnes commencent à acheter en ligne des produits de première nécessité, notamment des ingrédients et des légumes du jour. Afin de faciliter l'achat de légumes par les utilisateurs, de nombreux systèmes d'achat de légumes ont commencé à émerger, offrant aux utilisateurs des services d'achat, de paiement et de livraison en ligne. Dans le système d'épicerie, la fonction de suivi de l'état des commandes est particulièrement importante, car elle permet aux utilisateurs de comprendre l'état de leurs commandes en temps réel, améliorant ainsi leur expérience d'achat. Cet article présentera la mise en œuvre de la fonction de suivi de l'état des commandes du système d'épicerie développé en PHP.

Conseils de débogage PHP : Comment utiliser la fonction debug_backtrace pour tracer le chemin d'exécution du code Conseils de débogage PHP : Comment utiliser la fonction debug_backtrace pour tracer le chemin d'exécution du code Jul 29, 2023 am 10:24 AM

Conseils de débogage PHP : Comment utiliser la fonction debug_backtrace pour tracer le chemin d'exécution du code Introduction : Au cours du processus de développement, vous rencontrez souvent des situations où vous devez tracer le chemin d'exécution du code afin de savoir où se trouve l'erreur. PHP fournit une fonction très utile debug_backtrace, qui peut être utilisée pour obtenir des informations sur la pile des appels de fonction, nous aidant ainsi à traquer les erreurs. Cet article présentera l'utilisation de la fonction debug_backtrace et fournira quelques exemples d'utilisation. 1. debug_back

Suivi et journalisation des erreurs à l'aide des classes de gestion des erreurs PHP Suivi et journalisation des erreurs à l'aide des classes de gestion des erreurs PHP Aug 08, 2023 pm 02:22 PM

L'utilisation des classes de gestion des erreurs PHP pour le suivi des erreurs et l'enregistrement de la gestion des erreurs est une partie très importante du processus de développement et peut nous aider à suivre et à résoudre les bogues du programme. En PHP, nous pouvons utiliser des fonctions de gestion des erreurs intégrées et des classes de gestion des erreurs personnalisées pour gérer les erreurs qui se produisent lors de l'exécution du programme. Cet article explique comment utiliser les classes de gestion des erreurs PHP pour le suivi et la journalisation des erreurs. Nous devons d’abord créer une classe de gestion des erreurs personnalisée. Les classes de gestion des erreurs peuvent hériter des erreurs intégrées de PHP

Guide de mise en œuvre pour UniApp pour mettre en œuvre les commandes à emporter et le suivi des livraisons Guide de mise en œuvre pour UniApp pour mettre en œuvre les commandes à emporter et le suivi des livraisons Jul 04, 2023 am 09:03 AM

Introduction au guide d'UniApp pour la mise en œuvre des commandes à emporter et du suivi des livraisons : Avec le développement rapide du marché des plats à emporter, de plus en plus de personnes choisissent de commander des plats à emporter et de les livrer via des applications mobiles, ce qui apporte davantage d'opportunités commerciales et de défis au secteur de la restauration. En tant que cadre de développement multiplateforme, UniApp peut développer des applications multiplateformes rapidement et efficacement. Cet article expliquera comment utiliser UniApp pour implémenter les fonctions de commande à emporter et de suivi des livraisons, et joindra des exemples de code pertinents. 1. Analyse des besoins Connexion utilisateur : les utilisateurs doivent communiquer leur numéro de téléphone mobile ou

Comment utiliser PHP et Xunsearch pour le suivi des résultats de recherche et l'analyse des journaux Comment utiliser PHP et Xunsearch pour le suivi des résultats de recherche et l'analyse des journaux Aug 05, 2023 pm 07:45 PM

Comment utiliser PHP et Xunsearch pour le suivi des résultats de recherche et l'analyse des journaux Avec le développement rapide d'Internet, les moteurs de recherche sont devenus un élément indispensable de notre vie quotidienne. Qu'il s'agisse d'achats, de recherches universitaires ou de conseils en matière de divertissement, les moteurs de recherche peuvent nous aider à obtenir les informations dont nous avons besoin. Pour les développeurs de moteurs de recherche, il est très important de comprendre le comportement de recherche des utilisateurs et d’analyser la qualité des résultats de recherche. Cet article explique comment utiliser PHP et Xunsearch pour le suivi des résultats de recherche et l'analyse des journaux. d'abord,

Méthodes et techniques pour déboguer et résoudre les problèmes de sécurité du réseau Linux Méthodes et techniques pour déboguer et résoudre les problèmes de sécurité du réseau Linux Jun 30, 2023 pm 11:13 PM

Comment déboguer et résoudre les problèmes de sécurité réseau dans les systèmes Linux Avec le développement rapide d'Internet, la sécurité réseau est devenue un sujet de plus en plus important. En tant que l'un des systèmes d'exploitation les plus populaires, les systèmes Linux présentent certains avantages en matière de sécurité réseau. Cependant, même les systèmes Linux ne sont pas totalement à l’abri des cyberattaques. Par conséquent, il est crucial de savoir comment déboguer et résoudre les problèmes de sécurité réseau dans les systèmes Linux. Cet article couvrira certains problèmes courants de sécurité réseau et fournira quelques suggestions et conseils pour les déboguer et les résoudre.

See all articles