REXX中length()函数的处理开销随字符串长度的变化如何?
更新:我正在使用:
发布于 2009-01-28 03:09:25
开销是0。长度存储在描述符中。
尼尔·米尔斯特德,“uni”的作者(不是开玩笑的)。
发布于 2008-12-15 11:09:06
这完全取决于执行情况。您的意思是REXX for OS/2、REXX for z/VM、REXX for z/OS、OOREXX for Windows、REXX/400或Regina?
IBM之外的REXX语言规范没有规定如何在幕后实现函数,如果扫描字符串,则可能是O(N);如果长度存储在某个字符串中,则为O(1)。
如果这真的很重要,最好用基准测试代码来看看长度是否有区别。
发布于 2008-12-15 10:51:54
我没有把握。在我的日子里,我写了一些Rexx,但是我从来没有在length()函数的性能上遇到过问题。这种扩展的方式甚至可能取决于Rexx解析器的实现。
我会编写一个Rexx脚本,在10个字符串上调用10.000次"length()“,然后在100个字符串上调用,然后在1000个字符字符串上调用。
在图中绘制出结果的时间可以给出性能下降的近似结果。
尽管如此,我猜想性能下降最多是线性的,就像O(n)中的那样。(见符号表示法)
https://stackoverflow.com/questions/367986
复制相似问题