我在服务器上有我的应用程序的一部分,它必须尽可能快地返回,现在需要 0.5 秒到 1.8 秒之间,这甚至不是计算的一部分。我的意思是(使用微时间)我已经对进程的每个部分进行了计时,mysql 调用和计算每次花费的时间不到 0.2 秒,但返回和打印会增加额外的秒数。我能做些什么来尽可能快地做到这一点,因为现在这速度慢得让人无法接受?
我可以想到两种可能的事情:数据构建在函数内部,并且返回一个大数组作为值,因此简单地打印而不是返回可能会更快。第二件事是我认为 php 打印缓冲区存在问题。当我将我打印的文本分解成更小的块时,我看到每个块都会立即打印(~0.00002 秒),除了一个会花费大约 0.5-1.5 秒的所有额外时间,我认为打印缓冲区已经填满并且必须做一堆额外的工作。有没有什么办法解决这一问题?
一些细节:正在打印的文本大小约为 150Kb,我没有使用 flush 或 ob_ 函数,但我对它们进行了实验,似乎没有什么不同,而且我没有使用 memcached。我知道 echo 比 print 快,因为它是一个语句而不是函数调用,但这会有多大的不同?由于 print 将返回它打印的文本,因此较大的文本会在打印中花费更长的时间吗?