From 51519fec1f2d0ad4fd2d5577f2850137506623e3 Mon Sep 17 00:00:00 2001 From: Simon Cruanes Date: Mon, 2 Dec 2019 19:17:25 -0600 Subject: [PATCH] fix: proper amortized O(1) push in Buf.push --- src/Tiny_httpd.ml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Tiny_httpd.ml b/src/Tiny_httpd.ml index a6ff0759..e06f5b15 100644 --- a/src/Tiny_httpd.ml +++ b/src/Tiny_httpd.ml @@ -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