我在Progress(11.4)中已经注意到重复的字符串连接可能非常慢。例如在下面的代码中。OpenEdge级联的性能
DEF VAR i AS INT NO-UNDO.
DEF VAR c AS LONGCHAR NO-UNDO.
DO i = 1 TO 1000000:
c = c + STRING(i MOD 10).
END.
从我在Java中的经验,我认为这个问题是每个我们串接的时候,我们要复制ç这是一个O(n)的操作,所以整个过程是O(n^2)。 Java提供了StringBuilder
类来解决这个问题。
我对问题的分析是否正确?如果是这样,是否有解决方案?
是否有一个实际的问题需要解决,或许可以采用不同的方法?但是,我们需要知道这个问题。 – Jensd
我加倍请求了解更多详细信息。基于MEMPTR的实现也可能工作得很好。 –
11.4?没有10.4版本... 10.2是最新的10.x版本。 – Jensd