fix: proper amortized O(1) push in Buf.push

This commit is contained in:
Simon Cruanes 2019-12-02 19:17:25 -06:00
parent 45bc589e00
commit 51519fec1f

View file

@ -41,7 +41,7 @@ module Buf_ = struct
let add_bytes (self:t) s i len : unit =
if self.i + len >= Bytes.length self.bytes then (
resize self (self.i + len + 10);
resize self (self.i + self.i / 2 + len + 10);
);
Bytes.blit s i self.bytes self.i len;
self.i <- self.i + len