1
iyaozhen 2017-07-14 00:05:26 +08:00 via Android
额,减小体积有什么用吗?
|
2
a282810 2017-07-14 00:09:33 +08:00
额,减少了文件体积能提升多少性能?节省多少内存?
|
3
choury 2017-07-14 00:12:47 +08:00
磁盘装不下了吗?
|
4
alex8 OP PHP7.1.7,计算 10000 个素数,原来是 3.5 秒,瘦身后<3.1 秒,内存占用上有少量增加.网上说 rpm 打包前都要用 strip 把符号表删掉的,我试了下 yum 安装的程序和 scl 库里的 rh-mariadb101-mariadb,果然都没有符号表等信息。跟着大方向走,应该没错的。
|
6
kn007 2017-07-14 10:13:31 +08:00 via Android
关注一下
|
7
kn007 2017-07-14 11:15:03 +08:00 via Android
@sunweiqiang8 想问下,具体怎么操作呢?怎么去编译和瘦身,谢谢。
|
8
studentht 2017-07-14 13:45:51 +08:00
@sunweiqiang8 可以加上--disable-cgi
|
9
studentht 2017-07-14 13:50:39 +08:00
@sunweiqiang8 比较好奇,你怎么知道可以加`--disable-debug --disable-phpdbg`,php70 的 configure 帮助给出来的只有下面的选项
` --enable-phpdbg Build phpdbg --enable-phpdbg-webhelper Build phpdbg web SAPI support --enable-phpdbg-debug Build phpdbg in debug mode --enable-debug Compile with debugging symbols ` |
10
alex8 OP |
11
alex8 OP @studentht
--disable-cgi 选项在用,加上后不会编译生成 php-cgi --disable-debug --disable-phpdbg 最初网上看的,一直在用,PHP7 开始可能此选项已经默认开启了。 |
12
kn007 2017-07-14 17:09:53 +08:00 via Android
@sunweiqiang8 了解了,谢谢
|
13
jhdxr 2017-07-14 23:33:42 +08:00
@studentht 有 enable 的就有对应的 disable,有 with 的就有对应的 without,反过来也一样。但是,如果--help 列出来的是 enable,代表默认就是 disabled,那么你再去加一个--disable 的参数其实并不会造成什么不同。。。
|
14
kn007 2017-07-14 23:45:57 +08:00
我测试了下,strip 后体积是小了( 41MB vs 8.8MB ),但性能没提升。
求 10000 个素数,未 strip 和 strip 后,平均都是 0.00365。测试 100 次。 鸟哥的 bench、micro_bench、mandelbrot,测试后,结果也相差不多。 |
15
alex8 OP @jhdxr 对 PHP5 是有用的,线上环境很多需要编译 PHP5 老版本,安装脚本为了保持对 PHP5 的兼容性保留了这两个参数
|
16
alex8 OP @kn007
你的好快啊,确定是 10000 个素数,不是 10000 以内的素数? 15 款顶配的 MBP,虚拟的 CentOS7, PHP7.1.7,刚跑了会,平均 2.85 秒( laravel 控制器中运行)。 这是我的测试代码,难以理解的是写在 Laravel 的控制器中反而比单个文件快。 <?php header("Content-type: text/plain"); $start = microtime(true); $count = 0; $prime = function($num) { $t = ceil($num / 3); for ($i = 2; $i <= $t; $i++) { if ($num % $i == 0) { return false; } } return true; }; for ($num = 2 ; $count < 10000; $num++) { if ($prime($num)) { $count++; } } $time = number_format(microtime(true) - $start, 5); echo "time:$time\n"; |
17
kn007 2017-07-15 07:36:12 +08:00
@sunweiqiang8 哈,线上版本早已更新。
看来是我用错测试代码。最新的结果是 strip 前:平均 2.981 strip 后:平均 2.993 直接 shell php 的运行结果。速度反而慢了,strip 后。。囧 话说是不是用 Laravel,会 opcode cache,所以快了? 15 款顶配的 MBP,有米。。 |