URN Logo
UNIX Resources » Linux » China Linux Forum » Perl 编 程 » 35 » 谈谈cgi的速度问题---比较asp,php,perl最流行的cgi编写语言。
announcement 声明: 本页内容为中国Linux论坛的内容镜像,文章的版权以及其他所有的相关权利属于中国Linux论坛和相应文章的作者,如果转载,请注明文章来源及相关版权信息。
Resources
China Linux Forum(finished)
Linux Forum(finished)
FreeBSD China(finished)
linuxforum.net
  业界新闻与评论
  自由软件杂谈
  IT 人生
  Linux软件快递
  翻译作坊
  Linux图书与评论
  GNU Emacs/XEmacs
  Linux 中文环境和中文化
  Linux桌面与办公软件
  Linux 多媒体与娱乐版
  自由之窗Mozilla
  笔记本电脑上的Linux
  Gentoo
  Debian 一族
  网络管理技术
  Linux 安装与入门
  WEB服务器和FTP服务器
  域名服务器和邮件服务器
  Linux防火墙和代理服务器应用
  文件及打印服务器
  技术培训与认证
  TI专版
  Linux内核技术
  Linux 嵌入技术
  Linux设备驱动程序
  Linux 集群技术
  LINUX平台数据库
  系统和网络安全
  CPU 与 编译器
  系统计算研究所专栏
  Linux下的GUI软件开发
  C/C++编程版
  PHP 技 术
  Java&jsp技术
  Shell编程技术
  Perl 编 程
  Python 编 程
  XML/Web Service 技术
  永远的Unix
  FreeBSD世界
   
谈谈cgi的速度问题---比较asp,php,perl最流行的cgi编写语言。
 
 
Re: - ponderh [2001-03-26 12:19 | 131 byte(s)]
 
 
Subject: 谈谈cgi的速度问题---比较asp,php,perl最流行的cgi编写语言。
Author: yu2    Posted: 2001-03-24 22:47    Length: 4,784 byte(s)
[Original] [Print] [Top]
谈谈cgi得速度问题


一山

  关于php cgi 和asp的速度比较一直是一个争议的问题

本人初入门是从perl开始的,后来学习了asp和php

因为编程语言的简单,一段时间曾经迷上php。

后来用多了,便发觉这些语言各有优缺点。

我个人编程使用语言主要视乎程序的类型

(其中由于对php和perl较为熟悉,因此采用较多)

下面是我对asp,php,和perl使用的心得。

1.调试速度的比较:

其实,一般的cgi程序,这3种语言的速度比较是不明显的,这里面常常会有误区

,很多人采用不同的程序进行比较,但是由于这些程序结构和篇写人员的水平不一样。

往往程序速度的区别是由程序结构本身而非语言区别产生的。

我曾经在本地些个一个留言本,分别用3种语言比较(文本格式),结果发现本地执行的速度没有什么区别(win98上)

但是,如果写一个不断刷新的聊天室,在win98+iis上,明显asp快点(因为asp与iis)是集成的,而且是线程,而cgi和php

都属于外部调用的cgi,显然,繁忙的多人的http请求时,asp占优(iis服务器)。

另外测试文本格式的论坛程序,发现三种程序的处理速度区别不大,而当使用数据库的贴子数量很多的论坛的时后(同样在win98上)

使用IIS+cgi+mysql IIS+php+mysql的速度都不比IIS+asp+access慢,而使用apache+cgi+mysql要比iis+cgi+mysql快,可见这里主要的区别

与数据库类型和web服务器有关系。

而当一些人用一个IIS+ASP+ODBC(数据库)与IIS+CGI+文本 比较一个多贴论坛时,就断定asp比cgi或php快显然是不严谨的。

  另外一点,对于小型程序,不管那种语言一般运行的时间0.5秒左右,而从远端服务器下载一个网页就要10多秒左右,显然这种速度是相差很远的。

个人总结:在NT上编写例如聊天室,新闻等网页刷新率高的程序时,asp比较理想,而象论坛,搜索这类程序

     使用asp和cgi和php都可以选择(asp使用方便,而php.CGI可以获得较高稳定性)

个人心得:在NT上使用apache+mysql+php的效果要比iis+mysql+php好的多。

个人经验:提高效率的根本方法不是语言的选择,而是于平台的搭建,程序语言的结构和网页html代码的优化。

     一个被大家忽视的问题是臃肿的html代码比程序更影响速度!!!!

     举个例子,就拿这个论坛,大家有没有发现,发别贴子的速度很快而文章列表的速度较慢,大家可能以为是搜索数据库慢的原因,其实不然,当大家看到广告条出现的时候,

     程序已经执行完成,而剩下的时间都是下载html网页的时间(因为有大量的表格,因此影响浏览速度,浏览器在/table出现后才出表格)。

2.语言的性能:

  如果说程序的编程应用能力,显然php和asp与perl不在一个档次,perl的数组功能,字符处理功能,能领众多难题轻松解决,尤其perl的应用模块更是举不性数,为编程带来方便(不过,很多人没有使用这些模块的条件)。

perl在某些字符处理能力方面比语言老大C/C++还出色,这也是perl在互联网应用广的原因。

  对于php其实就象一个集成块语言,不很多元件集成一起,因此,虽然它的模块很小,但很多web功能集成在语言里,因此很多功能用很小的语句就能实现,因为语言简练,特别析合初学者使用,当是一些高级性能,和系统结合的性能不及perl,比asp也逊色。

但是使用他编写程序,一定能节省你很多时间。

  对于asp,因为其商业原因,制约了很多性能,很多组件都要收费,源代码保密,显然没有上述语言的大度,同时局限面仅仅是windows。


个人心得: 要想提高你的web编程思维和总体水平一定要学习perl.

      初学者php是不错的选择。

3.资源性能。

  本人作了cgi和php的比较,cgi采用进程,php采用模块

cgi程序瞬间执行的CUP比php大,但执行完成以后马上退出CUP和内存(时间一般为0.0X秒)

而php则要占用好长一段时间(大概数分钟),另外cgi占用的内存比PHP小。

因此对于浏览量不选很大的程序(10万次/日)以下的程序用进程CGI比PHP更能节省服务器资源

而频繁执行的程序(10万次/日)以上会节省cup资源,如果把CGI编译到apache模块时,CGI比php能节省更多的内存

(注意:以上在两种语言都使用数据库程序的前提下的比较)。

而在linux上使用cgi+dbi连接mysql,与php连接mysql的时间区别不是很大。

  关于unix与NT性能的比较就不用说多说了(一个是高端产品,一个是普及产品),不在一个档次,

但是如果从普及面和入门来说,NT要占优

 本人结论,程序是否占资源,最主要的原因与程序结构有关系,

对于信息量大的程序,能够用数据库写时尽量用数据库。

当有数据检索时,用数据库优于dbm,用dbm优于文本。

而没有多条数据检索时正好相反,打开文本文件的速度要比连接数据库块。




[Original] [Print] [Top]
Subject: Re: 谈谈cgi的速度问题---比较asp,php,perl最流行的cgi编写语言。
Author: rebuilder    Posted: 2001-03-25 10:37    Length: 412 byte(s)
[Original] [Print] [Top]
当 perl 被编译为 Apache 的模块时,即 mod_perl,再比较一下 mod_perl 和 作为模块的 php 与 IIS+ASP+NT 的性能,看看结果如何?

一起在命令行跳舞吧……
[Original] [Print] [Top]
Subject: Re:
Author: ponderh    Posted: 2001-03-26 12:19    Length: 131 byte(s)
[Original] [Print] [Top]

Edited by ponderh on 26/3/01 02:22 PM.

[Original] [Print] [Top]
Subject: Re: 谈谈cgi的速度问题---比较asp,php,perl最流行的cgi编写语言。
Author: limodou    Posted: 2001-03-26 17:56    Length: 1,757 byte(s)
[Original] [Print] [Top]
关于速度的比较有几点想法:
1. 既然是比较三种语言(ASP, PHP, PERL),那么应该主要从语言本身方面进行测试。而你的测试所要求的环境太杂,太乱,我看可比性并不高,因为别的因素影响太大了(web server, 数据库,平台...)。

2.
>> 个人经验:提高效率的根本方法不是语言的选择,而是于平台的搭建,程序语言的结构和网页html代码的优化
这样的话,为什么不进行平台的比较,而非要进行语言的比较呢?离题了。说到HTML的问题,这与语言处理毫无关系,而是传输问题。不应讨论。

3.
>>如果说程序的编程应用能力,显然php和asp与perl不在一个档次,perl的数组功能,字符处理功能,能领众多难题轻松解决,尤其perl的应用模块更是举不性数,为编程带来方便(不过,很多人没有使用这些模块的条件)。
PHP不也有数组功能,字符处理功能,跟Perl有什么不同吗?模块多只是因为发展时间长,而且也只能算一点优势。
>>要想提高你的web编程思维和总体水平一定要学习perl
web编程思维和总体水平是一项综合能力,不是学了perl就能提高的。计算机学习的关键是多动手,多动脑。
另,perl的语法复杂,php则清晰易懂。

4.
>>本人结论,程序是否占资源,最主要的原因与程序结构有关系,
正如你第一点所说,不应拿不同的程序来进行测试。但现在又说与程序结构有关系,真看不懂。测试一定要选好一个基础,尽管是不同的程序,也应尽量使其结构一致,才好测试。不然到底在测什么?

5.其它的我也不说什么了。不是有意想说你,只是想指出,你的这个比较看上去不太象一个比较,而更象一个经验介绍。但是单从比较来说,则有些混乱不清。




----------------------------
学习 PHP, Python ,欢迎交流 http://phprecord.126.com
[Original] [Print] [Top]
« Previous thread
[精华] 如何判断服务器上是否装了GD之类的模块
Perl 编 程
35
Next thread »
请问各位个关于perl的进程的问题
     

Copyright © 2007~2009 UNIX Resources Network, All Rights Reserved.      About URN | Privacy & Legal | Help | Contact us
webmaster: webmaster@unixresources.net
This page created on 2009-09-07 16:52:35, cost 0.0202689170837 ms.