在 php 中,我编写了一个示例代码来测量“file_put_contents”和“fwrite”写入文件的性能。
使用microtime,可以测试处理所花费的时间。
$startTime = microtime(true);
$time = microtime(true) - $startTime; // 处理所用的时间(毫秒)
以下是一个示例代码,通过执行分别使用“file_put_contents”和“fwrite”将相同内容写入“hoge1.txt”和“hoge2.txt”10,000 次的代码来衡量性能。
<?php
// 运行一万次
define('COUNT', 10000);
// 开始测试
$startTime = microtime(true);
for ($i = 0; $i < COUNT; ++$i) {
file_put_contents('hoge1.txt', 'hogehoge');
}
result($startTime, 'file_put_contents');
// 开始测试
$startTime = microtime(true);
for ($i = 0; $i < COUNT; ++$i) {
$fp = fopen('hoge2.txt', 'w');
fwrite($fp, 'hogehoge');
fclose($fp);
}
result($startTime, 'fwrite');
function result($time, $str)
{
echo '测试结果 : ' . $str . '<br>';
// 显示到少数的第5位
echo "process time: " . number_format((microtime(true) - $time), 5) . ' 毫秒' . '<br>';
}
第1次运行:
测试结果 : file_put_contents
process time: 1.99011 毫秒
测试结果 : fwrite
process time: 1.86211 毫秒
第2次运行:
测试结果 : file_put_contents
process time: 1.92111 毫秒
测试结果 : fwrite
process time: 2.10712 毫秒
第3次运行:
测试结果 : file_put_contents
process time: 1.87111 毫秒
测试结果 : fwrite
process time: 2.08412 毫秒
第4次运行:
测试结果 : file_put_contents
process time: 2.05412 毫秒
测试结果 : fwrite
process time: 1.85911 毫秒
第5次运行:
测试结果 : file_put_contents
process time: 1.98511 毫秒
测试结果 : fwrite
process time: 2.10712 毫秒
第6次运行:
测试结果 : file_put_contents
process time: 1.98911 毫秒
测试结果 : fwrite
process time: 2.07812 毫秒
就执行结果而言,“file_put_contents”似乎能好一点点吧。
评论列表:
发布于 15天前回复该评论
发布于 15天前回复该评论
发布于 15天前回复该评论
发布于 15天前回复该评论
发布于 14天前回复该评论