package coq-lsp
Language Server Protocol native server for Coq
Install
Dune Dependency
Authors
Maintainers
Sources
coq-lsp-0.1.0.tbz
sha256=d2e95a517ff35f59150c4f8399dc23899923a9cc93fce190efaa05422d3bbcf5
sha512=5593afa6fef241a63cf685fe6e4af42482884aa9078d080503f1aa7987da5f96cc95ddb48b1393ac1bd240e3510f4f7a61fe83882c0f5f8a38c0279eed4a0a11
doc/src/coq-lsp.fleche/stats.ml.html
Source file stats.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
(************************************************************************) (* Coq Language Server Protocol *) (* Copyright 2019 MINES ParisTech -- Dual License LGPL 2.1 / GPL3+ *) (* Copyright 2022 Inria -- Dual License LGPL 2.1 / GPL3+ *) (* Written by: Emilio J. Gallego Arias *) (************************************************************************) (* Status: Experimental *) (************************************************************************) module Kind = struct type t = | Hashing | Parsing | Exec end let stats = Hashtbl.create 1000 let find kind = Hashtbl.find_opt stats kind |> Option.default 0.0 let bump kind time = let acc = find kind in Hashtbl.replace stats kind (acc +. time) let time f x = let before = Unix.gettimeofday () in let res = f x in let after = Unix.gettimeofday () in (res, after -. before) let record ~kind ~f x = let res, time = time f x in bump kind time; (res, time) let get ~kind = find kind let dump () = Format.asprintf "hashing: %f | parsing: %f | exec: %f" (find Kind.Hashing) (find Kind.Parsing) (find Kind.Exec) let reset () = Hashtbl.remove stats Kind.Hashing; Hashtbl.remove stats Kind.Parsing; Hashtbl.remove stats Kind.Exec; ()
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>