Use landmarks for profiling

This commit is contained in:
Guillaume Bury 2017-06-07 11:57:26 +02:00
parent 92835bcdda
commit 5a079069ea
6 changed files with 14 additions and 0 deletions

View file

@ -23,6 +23,9 @@ bin:
$(COMP) $(FLAGS) $(BIN) $(COMP) $(FLAGS) $(BIN)
cp $(BIN) $(NAME) && rm $(BIN) cp $(BIN) $(NAME) && rm $(BIN)
bench: bin
OCAML_LANDMARKS=on,output=temporary,format=json ./$(NAME) tests/pigeon/hole8.cnf
test_bin: test_bin:
$(COMP) $(FLAGS) $(TEST_BIN) $(COMP) $(FLAGS) $(TEST_BIN)

3
_tags
View file

@ -4,6 +4,9 @@ true: bin_annot, color(always)
# optimization options # optimization options
true: inline(100), optimize(3), unbox_closures, unbox_closures_factor(20) true: inline(100), optimize(3), unbox_closures, unbox_closures_factor(20)
# landmarks profiling
<**/*>: package(landmarks), package(landmarks.ppx)
# Include paths # Include paths
<src>: include <src>: include
<src/core>: include <src/core>: include

View file

@ -4,6 +4,8 @@ Copyright 2014 Guillaume Bury
Copyright 2014 Simon Cruanes Copyright 2014 Simon Cruanes
*) *)
[@@@landmark "auto"]
module Make module Make
(St : Solver_types.S) (St : Solver_types.S)
(Plugin : Plugin_intf.S with type term = St.term (Plugin : Plugin_intf.S with type term = St.term

View file

@ -4,6 +4,8 @@ Copyright 2014 Guillaume Bury
Copyright 2014 Simon Cruanes Copyright 2014 Simon Cruanes
*) *)
[@@@landmark "auto"]
exception Incorrect_model exception Incorrect_model
exception Out_of_time exception Out_of_time
exception Out_of_space exception Out_of_space

View file

@ -11,6 +11,8 @@
(* *) (* *)
(**************************************************************************) (**************************************************************************)
[@@@landmark "auto"]
module V = Sparse_vec module V = Sparse_vec
type t = {heap : int Vec.t; indices : int V.t } type t = {heap : int Vec.t; indices : int V.t }

View file

@ -11,6 +11,8 @@
(* *) (* *)
(**************************************************************************) (**************************************************************************)
[@@@landmark "auto"]
type 'a t = { mutable dummy: 'a; mutable data : 'a array; mutable sz : int } type 'a t = { mutable dummy: 'a; mutable data : 'a array; mutable sz : int }
let _size_too_big()= let _size_too_big()=