#90 ByteStreamer#append

Закриті
4 роки тому відкрито ranides · 1 коментарів
ranides відкоментовано 4 роки тому

We could try to avoid allocating new array if there is enough space in current buffer.

Current "pending" fragment can be moved to the begin of the "array". New data could be copied after it.

In fact, it won't change almost anything except:

  • conditional allocation
  • storing additional field: "array_length" (which could be smaller than array.length)
We could try to avoid allocating new array if there is enough space in current buffer. Current "pending" fragment can be moved to the begin of the "array". New data could be copied after it. In fact, it won't change almost anything except: - conditional allocation - storing additional field: "array_length" (which could be smaller than array.length)
ranides відкоментовано 4 роки тому
Власник
this.array_size = pending + input.length;
byte[] appended = this.array_size > array.length ? new byte[alloc] : array;
``` this.array_size = pending + input.length; byte[] appended = this.array_size > array.length ? new byte[alloc] : array; ```
ranides згадано цю проблему в коміті 3 роки тому
Підпишіться щоб приєднатися до обговорення.
Етап відсутній
Немає відповідального
1 учасників
Завантажується...
Скасувати
Зберегти
Тут ще немає жодного вмісту.