+let cache = NUri.UriHash.create 313;;
-let get_checked_obj reference =
- let ouri = NReference.ouri_of_reference reference in
- let o,_ =
- CicEnvironment.get_cooked_obj ~trust:false CicUniv.oblivion_ugraph
- ouri
- in
- OCic2NCic.convert_obj o
+let get_checked_obj u =
+ try NUri.UriHash.find cache u
+ with Not_found ->
+ let ouri = NUri.ouri_of_nuri u in
+ let o,_ =
+ CicEnvironment.get_cooked_obj ~trust:false CicUniv.oblivion_ugraph
+ ouri in
+ let no = OCic2NCic.convert_obj o in
+ NUri.UriHash.add cache u no;
+ no
+;;