Maison développement back-end tutoriel php Comment améliorer la vitesse d'exécution de PHP

Comment améliorer la vitesse d'exécution de PHP

Mar 21, 2018 am 10:08 AM
php 方法 速度

Cet article vous explique principalement comment améliorer la vitesse d'exécution de PHP. Il existe plus d'une cinquantaine de méthodes au total, j'espère qu'il pourra aider tout le monde.

1, Si vous pouvez définir la méthode de classe comme statique, essayez de la définir comme statique , sa vitesse augmentera près de 4 fois.
2, $row['id'] La vitesse de est $row[id ] est 7 fois.
3, écho est plus rapide que imprimer , et utilisez Plusieurs paramètres d'écho
(Annotation : fait référence à l'utilisation de virgules au lieu de points ) Remplacez la concaténation de chaînes, telle que echo$str1,$str2.
4 Déterminez le nombre maximum de boucles avant d'exécuter la boucle for . chaque boucle. Utilisez
foreach à la place.
5. Désenregistrez les variables inutilisées, en particulier les grands tableaux, pour libérer de la mémoire.
6, essayez d'éviter d'utiliser __get, __set, __chargement automatique.
7, require_once() est cher.
8, inclure fichiers autant que possible car cela évite le besoin de PHP Allez sur include_path pour trouver le fichier
plus rapidement et le temps requis pour analyser le chemin du système d'exploitation sera moindre.
9, Si vous voulez savoir quand le script commence à s'exécuter(Annotation : c'est-à-dire que le serveur reçoit le client request ) time, utiliser
$_SERVER['REQUEST_TIME'] est meilleur que time( ) .
10, les fonctions remplacent les expressions régulières pour compléter la même fonction.
11, la fonction str_replace est plus rapide que la fonction preg_replace , mais strtr est quatre fois plus efficace que la fonction str_replace .

12
. Si une fonction de remplacement de chaîne accepte des tableaux ou des caractères comme paramètres et que la longueur du paramètre n'est pas trop longue, alors vous pouvez envisager d'écrire une section de remplacement supplémentaire. . Codez pour que chaque paramètre passé soit un caractère, au lieu d'écrire simplement une ligne de code Acceptez les tableaux comme paramètres de requête et de remplacement.


13
, utilisez l'instruction de branchement sélectif (Annotation : c'est-à-dire changer de casse) Mieux que d'utiliser plusieurs déclarations if, else if .
14
, utiliser @ pour bloquer les messages d'erreur est très inefficace, extrêmement inefficace. 15, ouvrez le module apache mod_deflate , vous pouvez parcourir le la page Web accélère plus efficacement.
16. La connexion à la base de données doit être fermée une fois son utilisation terminée. N'utilisez pas de connexions longues.
17. Les messages d'erreur coûtent cher.
18. L'augmentation des variables locales dans la méthode est la plus rapide. Presque aussi rapide que d’appeler des variables locales dans une fonction.
19. L'augmentation d'une variable globale est 2 fois plus lente que l'incrémentation d'une variable locale.
20, incrémente une propriété d'objet (telle que : $this->prop++) est 3 fois plus lent que l'incrémentation d'une variable locale.
21, L'incrémentation d'une variable locale non définie est plus lente que l'incrémentation d'une variable locale prédéfinie9 à 10 fois.
22 Le simple fait de définir une variable locale sans l'appeler dans une fonction ralentira également la vitesse ( dans la mesure où Équivaut à incrémenter une
variable locale
). PHP vérifiera probablement si des variables globales existent.
23, les appels de méthodes semblent être indépendants du nombre de méthodes définies dans la classe, car je ( avant de tester la méthode Après cela, )a ajouté
et a ajouté
10 méthodes, mais il n'y a aucun changement dans les performances.
24, Les méthodes des classes dérivées s'exécutent plus rapidement que les mêmes méthodes définies dans les classes de base.
25 Appeler une fonction vide avec un paramètre prend le même temps que l'exécution de 7 à . 8 opérations d'incrémentation de variable locale
fois. Un appel de méthode similaire nécessite près de
15 opérations d'incrémentation de variable locale.
26, Apache prend plus de temps pour analyser un script PHP que L’analyse d’une page HTML statique est plus lente de 2 à 10 fois.
Utilisez autant que possible des pages
HTML statiques et utilisez moins de scripts.
27, À moins que le script puisse être mis en cache, il sera recompilé à chaque appel. L'introduction d'un ensemble de mécanismes de mise en cache PHP
peut généralement augmenter
25 % à 100 % performances pour éviter les frais généraux de compilation.
28, essayez de mettre en cache, vous pouvez utiliser memcached. memcached est un système de mise en cache d'objets mémoire haute performance,
peut être utilisé pour accélérer les applications
Web dynamiques et réduire la charge de la base de données . La mise en cache des opcodes (OP code) est utile,
afin que le script n'ait pas besoin d'être recompilé à chaque requête.
29, Lorsque vous utilisez une chaîne et que vous devez vérifier si sa longueur répond à certaines exigences, vous utiliserez naturellement strlen()
Fonction
. Cette fonction s'exécute assez rapidement car elle ne fait aucun calcul et renvoie simplement le nombre intégré zval (C > structure de données, utilisé pour stocker la longueur de chaîne connue stockée dans la variable PHP
). Cependant, puisque strlen() est une fonction, sera quelque peu lent car l'appel de fonction passera par de nombreuses étapes, telles que les lettres minuscules (
Note de traduction : cela signifie que le nom de la fonction est en minuscules , PHP
Le nom de la fonction n'est pas sensible à la casse ), la recherche de hachage sera effectuée avec la fonction appelée. Dans certaines situations, vous pouvez utiliser l'astuce isset()
pour accélérer l'exécution de votre code. Appeler isset() s'avère être plus rapide que strlen(), car est différent de ce dernier en ce sens isset()
en tant que construction de langage signifie que son exécution ne nécessite pas de recherche de fonction ni de lettres minuscules. Autrement dit, vous ne dépensez pas beaucoup de temps système dans le code de niveau supérieur pour vérifier la longueur de la chaîne.
34
, Lors de l'exécution de l'incrément ou de la décrémentation de la variable $i , $i++ sera plus lent que ++$i . Cette différence est PHP spécifique et ne s'applique pas aux autres langages, merci donc de ne pas modifier votre C
ou Java coder et s'attendre à ce qu'ils soient instantanément plus rapides est inutile. ++$i
est plus rapide car il ne nécessite que 3 instructions(opcodes) , $i++ nécessite 4 instructions. L'incrément postfixé crée en fait une variable temporaire qui est ensuite incrémentée. L'incrément de préfixe incrémente directement sur la valeur d'origine. Il s'agit d'une forme d'optimisation, tout comme ce que fait l'optimiseur
PHP
de Zend . C'est une bonne idée de garder cette optimisation à l'esprit, car tous les optimiseurs d'instructions ne font pas la même optimisation, et il existe de nombreuses instructions qui n'ont pas d'optimisation d'assemblage. (FAI) et serveurs.
35
, Ce n'est pas forcément orienté objet
(POO), l'orienté objet est souvent très coûteux, chaque méthode et les appels d'objets consommeront beaucoup de mémoire.
36. Il n'est pas nécessaire d'utiliser des classes pour implémenter toutes les structures de données. Les tableaux sont également très utiles. 37
, Ne subdivisez pas trop les méthodes, réfléchissez bien aux codes que vous envisagez réellement de réutiliser
?38 , Lorsque vous en avez besoin, vous pouvez toujours diviser le code en méthodes.
39, essayez d'utiliser un grand nombre de fonctions intégrées PHP
.
40 S'il y a un grand nombre de fonctions chronophages dans le code, vous pouvez envisager d'utiliser l'extension C . pour les mettre en œuvre.
41, évaluez et inspectez (profil) votre code. Le vérificateur vous dira quelles parties du code prennent combien de temps.
42, mod_zip peut être utilisé comme module Apache pour compresser instantanément vos données , et peut réduire le volume de transmission de données de
80 %.
43, vous pouvez utiliser file_get_contents au lieu de file, fopen, feof, fgets et d'autres séries de méthodes, essayez
Utilisez
file_get_contents car c'est bien plus efficace ! mais soyez prudent file_get_contents
Problème de version PHP à l'ouverture d'un URL fichier;
44
, essayez de faire le moins d'opérations sur les fichiers possible, bien que l'efficacité des opérations sur les fichiers de PHP ne soit pas faible non plus ;
45
, optimisez les instructions Select SQL et effectuez le moins de Insérer, autant que possible Mettre à jour Fonctionnement;
46
, utiliser PHP fonctions internes(Mais pour trouver une fonction qui n'existe pas en PHP , j'ai perdu du temps qui aurait pu écrire une fonction personnalisée, l'expérience Le problème est
!);47
. Ne déclarez pas de variables à l'intérieur de la boucle, en particulier les grandes variables : Objet ( Cela ne fonctionne pas semble être le cas. Juste PHP devrait prêter attention à la question
?) ; 48
, essayez de ne pas pour intégrer des boucles dans des tableaux multidimensionnels Définir l'affectation;49
, n'utilisez pas d'expressions régulières lorsque vous pouvez utiliser PHP la fonction de manipulation de chaîne interne ;50
, foreach est plus efficace, essayez d'utiliser foreach Au lieu de while et pour boucle;51
, utilisez des guillemets simples Remplacez les chaînes de guillemets doubles ;52
, " par i+= 1 remplace i=i+1, qui est conforme aux habitudes de c/c++ et est plus efficaces . »;53
, pour les globales , elles doivent être unset() lorsqu'il est utilisé.

Recommandations associées :

Partage de quelques conseils pour améliorer la vitesse d'exécution de php

Comment améliorer la vitesse d'exécution de php Vitesse

Comment améliorer la vitesse d'exécution de php

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

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

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

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)

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

7 fonctions PHP que je regrette de ne pas connaître auparavant 7 fonctions PHP que je regrette de ne pas connaître auparavant Nov 13, 2024 am 09:42 AM

Si vous êtes un développeur PHP expérimenté, vous aurez peut-être le sentiment d'y être déjà allé et de l'avoir déjà fait. Vous avez développé un nombre important d'applications, débogué des millions de lignes de code et peaufiné de nombreux scripts pour réaliser des opérations.

Comment configurer Visual Studio Code (VS Code) pour le développement PHP Comment configurer Visual Studio Code (VS Code) pour le développement PHP Dec 20, 2024 am 11:31 AM

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

Expliquez les jetons Web JSON (JWT) et leur cas d'utilisation dans les API PHP. Expliquez les jetons Web JSON (JWT) et leur cas d'utilisation dans les API PHP. Apr 05, 2025 am 12:04 AM

JWT est une norme ouverte basée sur JSON, utilisée pour transmettre en toute sécurité des informations entre les parties, principalement pour l'authentification de l'identité et l'échange d'informations. 1. JWT se compose de trois parties: en-tête, charge utile et signature. 2. Le principe de travail de JWT comprend trois étapes: la génération de JWT, la vérification de la charge utile JWT et l'analyse. 3. Lorsque vous utilisez JWT pour l'authentification en PHP, JWT peut être généré et vérifié, et les informations sur le rôle et l'autorisation des utilisateurs peuvent être incluses dans l'utilisation avancée. 4. Les erreurs courantes incluent une défaillance de vérification de signature, l'expiration des jetons et la charge utile surdimensionnée. Les compétences de débogage incluent l'utilisation des outils de débogage et de l'exploitation forestière. 5. L'optimisation des performances et les meilleures pratiques incluent l'utilisation des algorithmes de signature appropriés, la définition des périodes de validité raisonnablement,

Comment analysez-vous et traitez-vous HTML / XML dans PHP? Comment analysez-vous et traitez-vous HTML / XML dans PHP? Feb 07, 2025 am 11:57 AM

Ce tutoriel montre comment traiter efficacement les documents XML à l'aide de PHP. XML (Language de balisage extensible) est un langage de balisage basé sur le texte polyvalent conçu à la fois pour la lisibilité humaine et l'analyse de la machine. Il est couramment utilisé pour le stockage de données et

Programme PHP pour compter les voyelles dans une chaîne Programme PHP pour compter les voyelles dans une chaîne Feb 07, 2025 pm 12:12 PM

Une chaîne est une séquence de caractères, y compris des lettres, des nombres et des symboles. Ce tutoriel apprendra à calculer le nombre de voyelles dans une chaîne donnée en PHP en utilisant différentes méthodes. Les voyelles en anglais sont a, e, i, o, u, et elles peuvent être en majuscules ou en minuscules. Qu'est-ce qu'une voyelle? Les voyelles sont des caractères alphabétiques qui représentent une prononciation spécifique. Il y a cinq voyelles en anglais, y compris les majuscules et les minuscules: a, e, i, o, u Exemple 1 Entrée: String = "TutorialSpoint" Sortie: 6 expliquer Les voyelles dans la chaîne "TutorialSpoint" sont u, o, i, a, o, i. Il y a 6 yuans au total

Expliquez la liaison statique tardive en PHP (statique: :). Expliquez la liaison statique tardive en PHP (statique: :). Apr 03, 2025 am 12:04 AM

Liaison statique (statique: :) ​​implémente la liaison statique tardive (LSB) dans PHP, permettant à des classes d'appel d'être référencées dans des contextes statiques plutôt que de définir des classes. 1) Le processus d'analyse est effectué au moment de l'exécution, 2) Recherchez la classe d'appel dans la relation de succession, 3) il peut apporter des frais généraux de performance.

Quelles sont les méthodes PHP Magic (__construct, __ destruct, __ call, __get, __set, etc.) et fournir des cas d'utilisation? Quelles sont les méthodes PHP Magic (__construct, __ destruct, __ call, __get, __set, etc.) et fournir des cas d'utilisation? Apr 03, 2025 am 12:03 AM

Quelles sont les méthodes magiques de PHP? Les méthodes magiques de PHP incluent: 1. \ _ \ _ Construct, utilisé pour initialiser les objets; 2. \ _ \ _ Destruct, utilisé pour nettoyer les ressources; 3. \ _ \ _ Appel, gérer les appels de méthode inexistants; 4. \ _ \ _ GET, Implémentez l'accès à l'attribut dynamique; 5. \ _ \ _ SET, Implémentez les paramètres d'attribut dynamique. Ces méthodes sont automatiquement appelées dans certaines situations, améliorant la flexibilité et l'efficacité du code.

See all articles