diff options
author | Xavier Leroy <xavier.leroy@inria.fr> | 2014-08-31 14:44:51 +0000 |
---|---|---|
committer | Xavier Leroy <xavier.leroy@inria.fr> | 2014-08-31 14:44:51 +0000 |
commit | 132c529b7551926320a48d58664afab7270a20d1 (patch) | |
tree | c2c59243f86ddcaa83f607de30091c105bffe258 | |
parent | a18bc7950b385ba1668d5efe7b277591b8638802 (diff) | |
download | ocaml-132c529b7551926320a48d58664afab7270a20d1.tar.gz |
Reflecting commit 15169 on version/4.02:
PR#6529: fix quadratic-time algorithm in Consistbl.extract.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15170 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
-rw-r--r-- | Changes | 4 | ||||
-rw-r--r-- | utils/consistbl.ml | 5 |
2 files changed, 4 insertions, 5 deletions
@@ -8,7 +8,9 @@ Compilers: Runtime system: - PR#6517: use ISO C99 types {,u}int{32,64}_t in preference to our homegrown types {,u}int{32,64}. - + (Xavier Leroy) +- PR#6529: fix quadratic-time algorithm in Consistbl.extract. + (Xavier Leroy) Ocaml 4.02.0: ------------- diff --git a/utils/consistbl.ml b/utils/consistbl.ml index 6adaf41122..37f6a2b1e6 100644 --- a/utils/consistbl.ml +++ b/utils/consistbl.ml @@ -41,12 +41,9 @@ let set tbl name crc source = Hashtbl.add tbl name (crc, source) let source tbl name = snd (Hashtbl.find tbl name) let extract l tbl = + let l = List.sort_uniq String.compare l in List.fold_left (fun assc name -> - try - ignore (List.assoc name assc); - assc - with Not_found -> try let (crc, _) = Hashtbl.find tbl name in (name, Some crc) :: assc |