forked from OSchip/llvm-project
[flang] runtime perf: larger I/O buffer growth increments
When reallocating an I/O buffer to accommodate a large record, ensure that the amount of growth is at least as large as the minimum initial record size (64KiB). The previous policy was causing input buffer reallocation for each byte after the minimum buffer size when scanning input data for record termination newlines. Differential Revision: https://reviews.llvm.org/D118649
This commit is contained in:
parent
623b66eded
commit
702c0cfa07
|
@ -135,7 +135,7 @@ private:
|
|||
if (bytes > size_) {
|
||||
char *old{buffer_};
|
||||
auto oldSize{size_};
|
||||
size_ = std::max<std::int64_t>(bytes, minBuffer);
|
||||
size_ = std::max<std::int64_t>(bytes, size_ + minBuffer);
|
||||
buffer_ =
|
||||
reinterpret_cast<char *>(AllocateMemoryOrCrash(terminator, size_));
|
||||
auto chunk{std::min<std::int64_t>(length_, oldSize - start_)};
|
||||
|
|
Loading…
Reference in New Issue