Maison php教程 php手册 基于什么样的理由 PHP 比其它 CGI

基于什么样的理由 PHP 比其它 CGI

Jun 21, 2016 am 09:11 AM
bytes document requests

cgi

Q:基于什么样的理由 PHP 比其它 CGI 好呢?有没有比较具体的数据可以证明 PHP 执行与其它 CGI 执行的效率好 ? 现在我的公司是用 C 来写 CGI 的,如果换成 PHP,会不会比较好呢 ?没有强而有力的依据的话,我就没办法说服上面的人让我转成 PHP 了...

A:
我认为"好" 要有三点
第一: 写出来的程式的执行速度快.
第二: 遇到有大量存取时的执行效能强.
第三: 程式开发的时间快,易维护。
php在这三点中,虽都不一定是最好的,但也都在前茅

以下是C,PHP和Perl在速度方面的比较
我用下面的算式测试
$s=1.0;
for ($i=1;$ifor ($j=1;$j$s=$s*1.0005;
$s=$s/1.0004;
};
};
print $s;
?>
然后用ab -n 10000 -c 20 http://mycgi
测试,结果
C语言用了 37.511 秒
PHP3用了 45.393 秒
PERL用了 68.418 秒

看起是C 最快没错,不过,和PHP3的结果没有太大
的差距。
Perl最慢

以下为测试数据
==============================================
C 语言
==============================================

Document Path: /~evan/test/gcc.cgi
Document Length: 19 bytes

Concurrency Level: 20
Time taken for tests: 37.511 seconds
Complete requests: 10000
Failed requests: 0
Total transferred: 1750000 bytes
HTML transferred: 190000 bytes
Requests per second: 266.59
Transfer rate: 46.65 kb/s received

Connnection Times (ms)
min avg max
Connect: 0 30 3001
Processing: 4 40 69
Total: 4 70 3070

PHP3
==============================================
Document Path: /~evan/test/php3.php3
Document Length: 15 bytes

Concurrency Level: 20
Time taken for tests: 45.393 seconds
Complete requests: 10000
Failed requests: 0
Total transferred: 1710000 bytes
HTML transferred: 150000 bytes
Requests per second: 220.30
Transfer rate: 37.67 kb/s received

Connnection Times (ms)
min avg max
Connect: 0 34 3039
Processing: 6 53 183
Total: 6 87 3222


PERL
==============================================
Document Path: /~evan/test/perl.cgi
Document Length: 17 bytes

Concurrency Level: 20
Time taken for tests: 68.418 seconds
Complete requests: 10000
Failed requests: 0
Total transferred: 1730173 bytes
HTML transferred: 170017 bytes
Requests per second: 146.16
Transfer rate: 25.29 kb/s received

Connnection Times (ms)
min avg max
Connect: 0 22 3005
Processing: 9 112 323
Total: 9 134 3328



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)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

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)

Comment réaliser la conversion mutuelle entre les requêtes CURL et python en python Comment réaliser la conversion mutuelle entre les requêtes CURL et python en python May 03, 2023 pm 12:49 PM

curl et Pythonrequests sont des outils puissants pour envoyer des requêtes HTTP. Alors que curl est un outil de ligne de commande qui vous permet d'envoyer des requêtes directement depuis le terminal, la bibliothèque de requêtes de Python fournit un moyen plus programmatique d'envoyer des requêtes à partir du code Python. La syntaxe de base pour convertir curl en commande Pythonrequestscurl est la suivante : curl[OPTIONS]URL Lors de la conversion de la commande curl en requête Python, nous devons convertir les options et l'URL en code Python. Voici un exemple de commande curlPOST : curl-XPOST https://example.com/api

Comment utiliser la bibliothèque de requêtes du robot Python Comment utiliser la bibliothèque de requêtes du robot Python May 16, 2023 am 11:46 AM

1. Installez la bibliothèque de requêtes. Étant donné que le processus d'apprentissage utilise le langage Python, Python doit être installé à l'avance. J'ai installé Python 3.8. Vous pouvez vérifier la version de Python que vous avez installée en exécutant la commande python --version. pour installer Python 3.X ou supérieur. Après avoir installé Python, vous pouvez installer directement la bibliothèque de requêtes via la commande suivante. pipinstallrequestsPs : Vous pouvez passer aux sources pip nationales, telles que Alibaba et Douban, qui sont rapides. Afin de démontrer la fonction, j'ai utilisé nginx pour simuler un site Web simple. Après le téléchargement, exécutez simplement le programme nginx.exe dans le répertoire racine.

Comment Python utilise les requêtes pour demander des pages Web Comment Python utilise les requêtes pour demander des pages Web Apr 25, 2023 am 09:29 AM

Requests hérite de toutes les fonctionnalités de urllib2. Les requêtes prennent en charge la persistance des connexions HTTP et le regroupement de connexions, prennent en charge l'utilisation de cookies pour maintenir les sessions, prennent en charge le téléchargement de fichiers, prennent en charge la détermination automatique du codage du contenu de la réponse et prennent en charge les URL internationalisées et le codage automatique des données POST. La méthode d'installation utilise pip pour installer la requête $pipinstallrequestsGET Requête GET de base (paramètres d'en-tête et paramètres parmas) 1. La requête GET la plus basique peut utiliser directement la méthode get 'response=requests.get("http://www.baidu.com/ "

Méthodes d'activation manuelle et didacticiels HWID V 2.2 Méthodes d'activation manuelle et didacticiels HWID V 2.2 Oct 20, 2023 pm 07:17 PM

Ceci est destiné aux utilisateurs qui souhaitent effectuer une activation manuelle. Si vous avez besoin d'aide avec un outil pour ce faire, vérifiez ici. Nous pouvons diviser le processus d'activation manuelle en deux parties. 1- À partir du fichier batch prêt à l’emploi, assurez-vous qu’Internet est activé. Ouvrez Windows Powershell en tant qu'administrateur et saisissez ce qui suit pour répertorier les commandes dans l'ordre dans lequel elles sont données. Entrez la clé (remplacez par la clé de la liste ci-dessus) Utilisez la commande suivante <key>slmgr/ipk<key> Téléchargez le ticket universel à partir d'ici et extrayez le fichier téléchargé. Entrez maintenant le code suivant dans Powershell (Get-ItemProper

Comment utiliser la publication des requêtes Python Comment utiliser la publication des requêtes Python Apr 29, 2023 pm 04:52 PM

Python simule le navigateur envoyant des demandes de publication au format importrequests request.postrequest.post(url,data,json,kwargs)#format de demande de publication request.get(url,params,kwargs)#Par rapport à la demande d'obtention, les paramètres d'envoi de demande de publication sont divisés en Le paramètre de données Forms ( x-www-form-urlencoded) json (application/json) prend en charge le format de dictionnaire et le format de chaîne. Le format de dictionnaire utilise la méthode json.dumps() pour convertir les données en chaîne au format json légal.

Le document GTA 6 donne un aperçu détaillé de toutes les fuites Le document GTA 6 donne un aperçu détaillé de toutes les fuites Sep 08, 2024 am 06:37 AM

Le 3 septembre sort la version 1.5 du document Grand Theft Auto VI qui donne un aperçu détaillé de tout ce que l'on sait sur le jeu à ce jour. La version mise à jour du document a été annoncée dans une bande-annonce publiée sur X (anciennement Twitter).???

Téléchargez des fichiers PDF à l'aide des requêtes de Python et de BeautifulSoup Téléchargez des fichiers PDF à l'aide des requêtes de Python et de BeautifulSoup Aug 30, 2023 pm 03:25 PM

Request et BeautifulSoup sont des bibliothèques Python qui peuvent télécharger n'importe quel fichier ou PDF en ligne. La bibliothèque de requêtes est utilisée pour envoyer des requêtes HTTP et recevoir des réponses. La bibliothèque BeautifulSoup est utilisée pour analyser le HTML reçu dans la réponse et obtenir le lien pdf téléchargeable. Dans cet article, nous apprendrons comment télécharger un PDF à l'aide de Request et BeautifulSoup en Python. Installer les dépendances Avant d'utiliser les bibliothèques BeautifulSoup et Request en Python, nous devons installer ces bibliothèques dans le système à l'aide de la commande pip. Pour installer request et les bibliothèques BeautifulSoup et Request,

Comment résoudre l'erreur « undéfini : octets.Split » dans Golang ? Comment résoudre l'erreur « undéfini : octets.Split » dans Golang ? Jun 25, 2023 pm 02:02 PM

Dans le langage Go, le package bytes est un package permettant de manipuler les types d'octets et il contient de nombreuses méthodes utiles, telles que la méthode Split(). Cependant, vous pouvez rencontrer une erreur « undéfini : octets.Split » lors de l'utilisation de la méthode Split(). Cette erreur est généralement causée par des versions Go incompatibles ou par le manque de bibliothèques dépendantes nécessaires. Cet article présentera quelques méthodes pour résoudre cette erreur. Méthode 1 : mettez à niveau la version Go comme suit

See all articles