gpt4 book ai didi

java - 是否值得合并 byte[] 和 char[] 数组,还是只创建更好

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:09:18 24 4
gpt4 key购买 nike

我的代码做了很多输入/输出,这通常涉及创建临时数组来保存字节或一定大小的字符——我经常使用 4096。我开始怀疑——没有实际测试——来验证它是否会更好地汇集这些数组。我的代码会变成这样

take array from pool
try {
read from one inputStream
write to another outputstream using array
} finally {
return array to pool
}
  • 使用 4096 获取或简单地创建一个字节会更快,这意味着需要一些工作来在堆上分配内存,清除 4096 字节等。
  • 池似乎更简单,毕竟它可能只是检查从列表中获取的列表并返回数组。

更新我写了一个小程序,做了两件事,创建数组并使用 apache 公共(public)池。两者都循环了很多次(100 * 100 * 100)并创建/获取,填充数组,然后释放。我在开始时添加了一些 goes 来预热 jit 并忽略了这些结果。每次运行都会运行 create 和 pool 表单十几次,在两者之间交替运行。

池和创建表单之间几乎没有区别。但是,如果我将一个清晰的数组添加到 apache 公共(public)池触发的回调中,当一个实例返回到池中时,池变得比创建的形式慢得多。

最佳答案

在证明存在性能问题之前,我不会实现池化。

关于java - 是否值得合并 byte[] 和 char[] 数组,还是只创建更好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4495442/

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