optimization in Log.debug

This commit is contained in:
Simon Cruanes 2014-11-04 20:42:43 +01:00
parent 1a2d4ccb73
commit 3443e2b8dc

View file

@ -27,15 +27,16 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
let debug_level_ = ref 0 let debug_level_ = ref 0
let set_debug l = debug_level_ := l let set_debug l = debug_level_ := l
let get_debug () = !debug_level_ let get_debug () = !debug_level_
let _dummy_buf = Buffer.create 0 (* dummy buffer, never used *)
let debug l format = let debug l format =
let b = Buffer.create 15 in
if l <= !debug_level_ if l <= !debug_level_
then ( then (
let b = Buffer.create 64 in
Printf.kbprintf Printf.kbprintf
(fun b -> print_endline (Buffer.contents b)) (fun b -> print_endline (Buffer.contents b))
b format) b format)
else else
Printf.ifprintf b format Printf.ifprintf _dummy_buf format
let on_buffer pp x = let on_buffer pp x =
let buf = Buffer.create 24 in let buf = Buffer.create 24 in