PHP代码优化之include

require

[root@localhost httpd]# strace -p 5064
Process 5064 attached - interrupt to quit
accept(3, {sa_family=AF_INET6, sin6_port=htons(51642), inet_pton(AF_INET6, "::ffff:192.168.124.1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, [47038481825820]) = 9
fcntl(9, F_GETFD)                       = 0
fcntl(9, F_SETFD, FD_CLOEXEC)           = 0
getsockname(9, {sa_family=AF_INET6, sin6_port=htons(80), inet_pton(AF_INET6, "::ffff:192.168.124.129", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, [68719476764]) = 0
fcntl(9, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(9, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
brk(0x1007c000)                         = 0x1007c000
read(9, "GET /require.php HTTP/1.1\r\nHost:"..., 8000) = 378
stat("/phpstudy/www/require.php", {st_mode=S_IFREG|0644, st_size=131, ...}) = 0
setitimer(ITIMER_PROF, {it_interval={0, 0}, it_value={60, 0}}, NULL) = 0
rt_sigaction(SIGPROF, {0x2ac8583e1170, [PROF], SA_RESTORER|SA_RESTART, 0x3239630030}, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [PROF], NULL, 8) = 0
brk(0x1009d000)                         = 0x1009d000
getcwd("/phpstudy/server/httpd/bin"..., 4095) = 27
chdir("/phpstudy/www")                  = 0
setitimer(ITIMER_PROF, {it_interval={0, 0}, it_value={30, 0}}, NULL) = 0
lstat("/phpstudy/www/require.php", {st_mode=S_IFREG|0644, st_size=131, ...}) = 0
lstat("/phpstudy/www", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/phpstudy", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0

open("/phpstudy/www/require.php", O_RDONLY) = 10
fstat(10, {st_mode=S_IFREG|0644, st_size=131, ...}) = 0
fstat(10, {st_mode=S_IFREG|0644, st_size=131, ...}) = 0
fstat(10, {st_mode=S_IFREG|0644, st_size=131, ...}) = 0
mmap(NULL, 131, PROT_READ, MAP_SHARED, 10, 0) = 0x2ac85fa2c000
munmap(0x2ac85fa2c000, 131)             = 0
close(10)                               = 0
stat("./ClassA.php", {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
getcwd("/phpstudy/www"..., 4096)        = 14
lstat("/phpstudy/www/./ClassA.php", {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
open("/phpstudy/www/ClassA.php", O_RDONLY) = 10

fstat(10, {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
fstat(10, {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
fstat(10, {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
mmap(NULL, 22, PROT_READ, MAP_SHARED, 10, 0) = 0x2ac85fa2c000
munmap(0x2ac85fa2c000, 22)              = 0
close(10)                               = 0
stat("./ClassB.php", {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
getcwd("/phpstudy/www"..., 4096)        = 14
lstat("/phpstudy/www/./ClassB.php", {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
open("/phpstudy/www/ClassB.php", O_RDONLY) = 10

fstat(10, {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
fstat(10, {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
fstat(10, {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
mmap(NULL, 22, PROT_READ, MAP_SHARED, 10, 0) = 0x2ac85fa2c000
munmap(0x2ac85fa2c000, 22)              = 0
close(10)                               = 0
stat("./ClassC.php", {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
getcwd("/phpstudy/www"..., 4096)        = 14
lstat("/phpstudy/www/./ClassC.php", {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
open("/phpstudy/www/ClassC.php", O_RDONLY) = 10
fstat(10, {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
fstat(10, {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
fstat(10, {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
mmap(NULL, 22, PROT_READ, MAP_SHARED, 10, 0) = 0x2ac85fa2c000
munmap(0x2ac85fa2c000, 22)              = 0
close(10)                               = 0
stat("./ClassD.php", {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
getcwd("/phpstudy/www"..., 4096)        = 14
lstat("/phpstudy/www/./ClassD.php", {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
open("/phpstudy/www/ClassD.php", O_RDONLY) = 10

fstat(10, {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
fstat(10, {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
fstat(10, {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
mmap(NULL, 22, PROT_READ, MAP_SHARED, 10, 0) = 0x2ac85fa2c000
munmap(0x2ac85fa2c000, 22)              = 0
close(10)                               = 0
chdir("/phpstudy/server/httpd/bin")     = 0
setitimer(ITIMER_PROF, {it_interval={0, 0}, it_value={0, 0}}, NULL) = 0
setitimer(ITIMER_PROF, {it_interval={0, 0}, it_value={0, 0}}, NULL) = 0
read(9, 0x10059878, 8000)               = -1 EAGAIN (Resource temporarily unavailable)
writev(9, [{"HTTP/1.1 200 OK\r\nDate: Fri, 25 S"..., 223}, {"\n\n\n\nOnly testing require.", 25}], 2) = 248
write(7, "192.168.124.1 - - [24/Sep/2015:2"..., 82) = 82
times({tms_utime=1, tms_stime=2, tms_cutime=0, tms_cstime=0}) = 429433883
poll([{fd=9, events=POLLIN}], 1, 5000)  = 0 (Timeout)
shutdown(9, 1 /* send */)               = 0
poll([{fd=9, events=POLLIN}], 1, 2000)  = 0 (Timeout)
close(9)                                = 0
read(5, 0x7ffff94a3d47, 1)              = -1 EAGAIN (Resource temporarily unavailable)
accept(3, {sa_family=AF_INET6, sin6_port=htons(51643), inet_pton(AF_INET6, "::ffff:192.168.124.1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, [47038481825820]) = 9
fcntl(9, F_GETFD)                       = 0
fcntl(9, F_SETFD, FD_CLOEXEC)           = 0
getsockname(9, {sa_family=AF_INET6, sin6_port=htons(80), inet_pton(AF_INET6, "::ffff:192.168.124.129", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, [68719476764]) = 0
fcntl(9, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(9, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
read(9, "", 8000)                       = 0
poll([{fd=9, events=POLLIN}], 1, 20000) = 1 ([{fd=9, revents=POLLIN}])
shutdown(9, 1 /* send */)               = 0
poll([{fd=9, events=POLLIN}], 1, 2000)  = 1 ([{fd=9, revents=POLLIN|POLLHUP}])
read(9, "", 512)                        = 0
close(9)                                = 0
read(5, 0x7ffff94a3d47, 1)              = -1 EAGAIN (Resource temporarily unavailable)

require_once:

[root@localhost bin]# strace -p 5077
Process 5077 attached - interrupt to quit
accept(3, {sa_family=AF_INET6, sin6_port=htons(51986), inet_pton(AF_INET6, "::ffff:192.168.124.1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, [47502338293788]) = 9
fcntl(9, F_GETFD)                       = 0
fcntl(9, F_SETFD, FD_CLOEXEC)           = 0
getsockname(9, {sa_family=AF_INET6, sin6_port=htons(80), inet_pton(AF_INET6, "::ffff:192.168.124.129", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, [68719476764]) = 0
fcntl(9, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(9, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
brk(0x1453a000)                         = 0x1453a000
read(9, "GET /require_once.php HTTP/1.1\r\n"..., 8000) = 357
stat("/phpstudy/www/require_once.php", {st_mode=S_IFREG|0644, st_size=155, ...}) = 0
setitimer(ITIMER_PROF, {it_interval={0, 0}, it_value={60, 0}}, NULL) = 0
rt_sigaction(SIGPROF, {0x2b3422aa2170, [PROF], SA_RESTORER|SA_RESTART, 0x3239630030}, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [PROF], NULL, 8) = 0
brk(0x1455b000)                         = 0x1455b000
getcwd("/phpstudy/server/httpd/bin"..., 4095) = 27
chdir("/phpstudy/www")                  = 0
setitimer(ITIMER_PROF, {it_interval={0, 0}, it_value={30, 0}}, NULL) = 0
lstat("/phpstudy/www/require_once.php", {st_mode=S_IFREG|0644, st_size=155, ...}) = 0
lstat("/phpstudy/www", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/phpstudy", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/phpstudy/www/require_once.php", O_RDONLY) = 10

fstat(10, {st_mode=S_IFREG|0644, st_size=155, ...}) = 0
fstat(10, {st_mode=S_IFREG|0644, st_size=155, ...}) = 0
fstat(10, {st_mode=S_IFREG|0644, st_size=155, ...}) = 0
mmap(NULL, 155, PROT_READ, MAP_SHARED, 10, 0) = 0x2b342a0ed000
munmap(0x2b342a0ed000, 155)             = 0
close(10)                               = 0
getcwd("/phpstudy/www"..., 4096)        = 14
lstat("/phpstudy/www/./ClassA.php", {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
lstat("/phpstudy/www/ClassA.php", {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
open("/phpstudy/www/ClassA.php", O_RDONLY) = 10

fstat(10, {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
fstat(10, {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
fstat(10, {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
mmap(NULL, 22, PROT_READ, MAP_SHARED, 10, 0) = 0x2b342a0ed000
stat("/phpstudy/www/ClassA.php", {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
munmap(0x2b342a0ed000, 22)              = 0
close(10)                               = 0
getcwd("/phpstudy/www"..., 4096)        = 14
lstat("/phpstudy/www/./ClassB.php", {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
lstat("/phpstudy/www/ClassB.php", {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
open("/phpstudy/www/ClassB.php", O_RDONLY) = 10

fstat(10, {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
fstat(10, {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
fstat(10, {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
mmap(NULL, 22, PROT_READ, MAP_SHARED, 10, 0) = 0x2b342a0ed000
stat("/phpstudy/www/ClassB.php", {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
munmap(0x2b342a0ed000, 22)              = 0
close(10)                               = 0
getcwd("/phpstudy/www"..., 4096)        = 14
lstat("/phpstudy/www/./ClassC.php", {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
lstat("/phpstudy/www/ClassC.php", {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
open("/phpstudy/www/ClassC.php", O_RDONLY) = 10

fstat(10, {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
fstat(10, {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
fstat(10, {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
mmap(NULL, 22, PROT_READ, MAP_SHARED, 10, 0) = 0x2b342a0ed000
stat("/phpstudy/www/ClassC.php", {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
munmap(0x2b342a0ed000, 22)              = 0
close(10)                               = 0
getcwd("/phpstudy/www"..., 4096)        = 14
lstat("/phpstudy/www/./ClassD.php", {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
lstat("/phpstudy/www/ClassD.php", {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
open("/phpstudy/www/ClassD.php", O_RDONLY) = 10

fstat(10, {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
fstat(10, {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
fstat(10, {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
mmap(NULL, 22, PROT_READ, MAP_SHARED, 10, 0) = 0x2b342a0ed000
stat("/phpstudy/www/ClassD.php", {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
munmap(0x2b342a0ed000, 22)              = 0
close(10)                               = 0
chdir("/phpstudy/server/httpd/bin")     = 0
setitimer(ITIMER_PROF, {it_interval={0, 0}, it_value={0, 0}}, NULL) = 0
setitimer(ITIMER_PROF, {it_interval={0, 0}, it_value={0, 0}}, NULL) = 0
read(9, 0x14517878, 8000)               = -1 EAGAIN (Resource temporarily unavailable)
writev(9, [{"HTTP/1.1 200 OK\r\nDate: Fri, 25 S"..., 223}, {"\n\n\n\nOnly testing require_once", 29}], 2) = 252
write(7, "192.168.124.1 - - [24/Sep/2015:2"..., 87) = 87
times({tms_utime=2, tms_stime=2, tms_cutime=0, tms_cstime=0}) = 429504658
poll([{fd=9, events=POLLIN}], 1, 5000)  = 0 (Timeout)
shutdown(9, 1 /* send */)               = 0
poll([{fd=9, events=POLLIN}], 1, 2000)  = 1 ([{fd=9, revents=POLLIN|POLLHUP}])
read(9, "", 512)                        = 0
close(9)                                = 0
read(5, 0x7fff41717607, 1)              = -1 EAGAIN (Resource temporarily unavailable)

require_once比require多一次lstat(),所以require在一般情况下快于require。

include_once与include的对比也是如此。


经过压力测试结果得出:

1.如果是单个文件简单测试include,require性能高(但实际项目中多次加载性能就会缺失);

2.如果是在实际项目中还是要使用include_once,require_once,只需要加载一次便可;


参考:

http://blog.163.com/023_dns/blog/static/11872736620127192447736/

深入理解php原理之include include_once require require_once  

作者写的很不错,可见其功底,新手勿看。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本系统的研发具有重大的意义,在安全性方面,用户使用浏览器访问网站时,采用注册和密码等相关的保护措施,提高系统的可靠性,维护用户的个人信息和财产的安全。在方便性方面,促进了校园失物招领网站的信息化建设,极大的方便了相关的工作人员对校园失物招领网站信息进行管理。 本系统主要通过使用Java语言编码设计系统功能,MySQL数据库管理数据,AJAX技术设计简洁的、友好的网址页面,然后在IDEA开发平台中,编写相关的Java代码文件,接着通过连接语言完成与数据库的搭建工作,再通过平台提供的Tomcat插件完成信息的交互,最后在浏览器中打开系统网址便可使用本系统。本系统的使用角色可以被分为用户和管理员,用户具有注册、查看信息、留言信息等功能,管理员具有修改用户信息,发布寻物启事等功能。 管理员可以选择任一浏览器打开网址,输入信息无误后,以管理员的身份行使相关的管理权限。管理员可以通过选择失物招领管理,管理相关的失物招领信息记录,比如进行查看失物招领信息标题,修改失物招领信息来源等操作。管理员可以通过选择公告管理,管理相关的公告信息记录,比如进行查看公告详情,删除错误的公告信息,发布公告等操作。管理员可以通过选择公告类型管理,管理相关的公告类型信息,比如查看所有公告类型,删除无用公告类型,修改公告类型,添加公告类型等操作。寻物启事管理页面,此页面提供给管理员的功能有:新增寻物启事,修改寻物启事,删除寻物启事。物品类型管理页面,此页面提供给管理员的功能有:新增物品类型,修改物品类型,删除物品类型。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值