【发布时间】:2023-03-11 14:10:01
【问题描述】:
在 Linux 上,这两种使用 Perl 读取/写入用户文件的方式之间是否存在明显的性能差异?
选项 1:
open (READFILE, '<:utf8', "users/$_[0]") or die ("no read users/$_[0]");
# Do the reading
close (READFILE) or die;
# Do more stuff
open (WRITEFILE, '>:utf8', "users/$_[0]") or die ("no write users/$_[0]"); flock (WRITEFILE, 2) or die ("no lock users/$_[0]");
# Do the writing
close (WRITEFILE) or die;
选项 2:
open (USERFILE, '+<:utf8', "users/$_[0]") or die ("no open users/$_[0]"); flock (USERFILE, 2) or die ("no lock users/$_[0]");
# Do the reading
# Do more stuff
seek (USERFILE, 0, 0); truncate (USERFILE, 0);
# Do the writing
close (USERFILE) or die ("no write users/$_[0]");
用户文件不大,通常为 20-40 行或每个 2-4 KB。
还有其他理由选择选项 1 或 2(或第 3 个选项)吗?
【问题讨论】:
-
是什么阻碍了您进行测试和测量?
-
@Hynek -Pichi- Vychodil,你说得有道理。将在未来进行基准测试。