使用 -11!(-2;`:tplog) 在 tplog 行计数期间报告进度
report progress during tplog row count using -11!(-2;`:tplog)
我正在使用 -11!(-2;`:tplog) 内部函数计算 1TB tplog 中的行数,这需要很长时间。
有没有办法跟踪此操作的进度(最好是百分比)?
不,我认为 -2
选项不可能做到这一点。可以通过定义自定义 .z.ps
来使用 -11!
,但在计算块数时似乎不会调用 .z.ps
。
你最好的选择可能是使用 linux 系统命令或使用 hcount
检查磁盘上的原始文件大小,然后根据之前在你的机器上测试的一些估计,你可以创建逻辑来仅根据文件大小得出一个大概的时间估计值(可能使用线性插值)。
当然 - 一旦您从 -2
选项中获得了块计数,那么您可以轻松地创建实际重放的进度估计,而不是块计数部分本身
从根本上说,条目是可变长度的,文件中没有内置跟踪功能,因此没有确切的答案。
您或许可以这样做:
重播一个短片段(比如 1,000 个条目)和一个自定义处理程序:
.z.ps:{estimate+:-22!x}
-11!(1000;`:tplog)
-1"estimate of entry size: ", string estimate%:1000
-1"estimate of number of entries: ", string floor n:hcount[`:tplog]%estimate
\x .z.ps
然后使用标准更新处理程序重复整个文件。
我正在使用 -11!(-2;`:tplog) 内部函数计算 1TB tplog 中的行数,这需要很长时间。
有没有办法跟踪此操作的进度(最好是百分比)?
不,我认为 -2
选项不可能做到这一点。可以通过定义自定义 .z.ps
来使用 -11!
,但在计算块数时似乎不会调用 .z.ps
。
你最好的选择可能是使用 linux 系统命令或使用 hcount
检查磁盘上的原始文件大小,然后根据之前在你的机器上测试的一些估计,你可以创建逻辑来仅根据文件大小得出一个大概的时间估计值(可能使用线性插值)。
当然 - 一旦您从 -2
选项中获得了块计数,那么您可以轻松地创建实际重放的进度估计,而不是块计数部分本身
从根本上说,条目是可变长度的,文件中没有内置跟踪功能,因此没有确切的答案。
您或许可以这样做:
重播一个短片段(比如 1,000 个条目)和一个自定义处理程序:
.z.ps:{estimate+:-22!x}
-11!(1000;`:tplog)
-1"estimate of entry size: ", string estimate%:1000
-1"estimate of number of entries: ", string floor n:hcount[`:tplog]%estimate
\x .z.ps
然后使用标准更新处理程序重复整个文件。