Add initial size to interned
Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
This commit is contained in:
parent
cbf2727209
commit
d3edc454ac
|
@ -1,7 +1,10 @@
|
|||
open Stdune
|
||||
|
||||
module Name = struct
|
||||
include Interned.Make(struct let resize_policy = Interned.Conservative end)
|
||||
include Interned.Make(struct
|
||||
let initial_size = 16
|
||||
let resize_policy = Interned.Conservative
|
||||
end)
|
||||
|
||||
let of_string = make
|
||||
|
||||
|
|
|
@ -28,7 +28,11 @@ let new_size ~next ~size = function
|
|||
(next land (lnot (increment_size - 1))) + (increment_size * 2)
|
||||
| Greedy -> size * 2
|
||||
|
||||
module Make(R : sig val resize_policy : resize_policy end) = struct
|
||||
module Make(R : sig
|
||||
val resize_policy : resize_policy
|
||||
val initial_size : int
|
||||
end)
|
||||
= struct
|
||||
type t = int
|
||||
|
||||
let ids = Hashtbl.create 1024
|
||||
|
@ -44,7 +48,7 @@ module Make(R : sig val resize_policy : resize_policy end) = struct
|
|||
|
||||
let create ~default_value =
|
||||
{ default_value
|
||||
; data = [||]
|
||||
; data = Array.make R.initial_size default_value
|
||||
}
|
||||
|
||||
let resize t =
|
||||
|
|
|
@ -36,4 +36,7 @@ end
|
|||
|
||||
type resize_policy = Conservative | Greedy
|
||||
|
||||
module Make(R : sig val resize_policy : resize_policy end) : S
|
||||
module Make(R : sig
|
||||
val initial_size : int
|
||||
val resize_policy : resize_policy
|
||||
end) : S
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
open Stdune
|
||||
|
||||
include Interned.Make(struct let resize_policy = Interned.Conservative end)
|
||||
include Interned.Make(struct
|
||||
let initial_size = 16
|
||||
let resize_policy = Interned.Conservative
|
||||
end)
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
open Stdune
|
||||
|
||||
include Interned.Make(struct let resize_policy = Interned.Conservative end)
|
||||
include Interned.Make(struct
|
||||
let initial_size = 256
|
||||
let resize_policy = Interned.Conservative
|
||||
end)
|
||||
|
||||
let ppx_driver = make "ppx_driver"
|
||||
let mt = make "mt"
|
||||
|
|
Loading…
Reference in New Issue