公司最近有一个小项目是需要创建一个分享的海报,上面有用户头像、分享的二维码、还有一个背景海报;其实生成并不难,很快我就搞出来了,搞出来后发现一个问题,就是创建分享海报速度太慢了,我尝试着找原因,后面终于找到了,
file_get_contents()
这个方法导致的;下面我们来比较一下用file_get_contents()
和curl
方式获取头像,转换成本地图片的耗时
代码中用到了 vendor 包 composer require johnxu/tool
第一种方式(利用 file_get_contents
)
具体代码如下
我在 PHP72 上跑的,耗时差不多:18.557844 秒
第二种方式( 利用 curl
这种方式 )
具体代码如下
我在 PHP72 上跑的,耗时差不多:0.114182 秒
总结一下:这两种方式下耗时相差十万八千里,大概 200 倍左右吧,刚开始的为了图码代码快一点,用的
file_get_contents()
。所以说码代码快一点还是要考虑性能的,性能快才是王道,码代码只是辅助而已。
关键相差的代码如下:
评论加载中