gpt4 book ai didi

java - 附加字符串比通过标准 Java stringbuilder.append 获得更好的性能

转载 作者:行者123 更新时间:2023-12-01 17:40:12 26 4
gpt4 key购买 nike

作为填充搜索引擎过程的一部分,我还填充了 Berekely-DB 值存储。这个过程每晚都会重复,目前每晚总运行时间的 +/- 60% 是由创建要插入到值存储中的值引起的(因此不包括实际插入到 Berekely-DB 中和导致的时间)由 Berekely 客户提供

这些值是通过为每个键分配一个字符串生成器,并向这样的字符串生成器平均附加约 1000 个字符串来创建的。结果值平均约为 10k。我想知道是否可以更有效地完成此操作,因为:- 附加到每个 Stringbuilder 的(平均)1000 个字符串具有固定长度:即:每个字符串具有相同的长度,并且该长度是预先已知的)- 所有字符串都附加到末尾。

例如,将 stringbuilder 替换为 char[] 或 characterStream/writer 性能是否会更高?这样我就可以在 char[] 中保留并索引要写入的位置。

谢谢,吉尔特-扬

最佳答案

您可以创建具有更高初始容量的字符串构建器,以减少调整大小的量,即有一个构造函数允许您说

int SIZE=10000;
StringBuilder b = new StringBuilder(SIZE);

我希望手动处理 char[] 和索引不会对此有太大改进,因为(我假设)这就是 StringBuilder 已经为您做的事情。

关于java - 附加字符串比通过标准 Java stringbuilder.append 获得更好的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1750604/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com