This commit is contained in:
parent
aa2ff7b2f0
commit
2f3113f55d
11742 changed files with 1223940 additions and 0 deletions
21
unikernel/duniverse/csexp/bench/csexp_bench.ml
Normal file
21
unikernel/duniverse/csexp/bench/csexp_bench.ml
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
open StdLabels
|
||||
|
||||
module Sexp = struct
|
||||
type t =
|
||||
| Atom of string
|
||||
| List of t list
|
||||
end
|
||||
|
||||
module Csexp = Csexp.Make (Sexp)
|
||||
|
||||
let atom = Sexp.Atom (String.make 128 'x')
|
||||
|
||||
let rec gen_sexp depth =
|
||||
if depth = 0 then atom
|
||||
else
|
||||
let x = gen_sexp (depth - 1) in
|
||||
List [ x; x ]
|
||||
|
||||
let s = Sys.opaque_identity (Csexp.to_string (gen_sexp 16))
|
||||
|
||||
let%bench "of_string" = ignore (Csexp.parse_string s : _ result)
|
||||
Loading…
Add table
Add a link
Reference in a new issue