From 6cca4015db457f91b8eb9cf824f21246cbe7c6e6 Mon Sep 17 00:00:00 2001 From: herbelin Date: Thu, 13 May 2010 07:24:56 +0000 Subject: Improved the efficiency of evars traverals thanks to a split of evar_map into a map for defined evars and a map for undefined evars. Even before Spiwack's new proof engine, some Evd.fold were very costly, e.g. in check_evars or progress_evar_map. With the new proof engine, undefined evars traversals are apparently even more common (at least, it improves significantly the complexity of some calls to omega in JordanCurveTheorem - a new factor 5-7 after the factor 5-6 obtained by removal of evar_merge in clenv_fchain in commit 13007, arriving to figures comparable to the 8.3 ones). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@13011 85f007b7-540e-0410-9357-904b9bb8a0f7 --- dev/doc/changes.txt | 7 +++++++ dev/doc/perf-analysis | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'dev') diff --git a/dev/doc/changes.txt b/dev/doc/changes.txt index c240d5f530..43d54da23a 100644 --- a/dev/doc/changes.txt +++ b/dev/doc/changes.txt @@ -2,6 +2,13 @@ = CHANGES BETWEEN COQ V8.2 AND COQ V8.3 = ========================================= +** Optimizing calls to Evd functions ** + +Evars are split into defined evars and undefined evars; for +efficiency, when an evar is known to be undefined, it is preferable to +use specific functions about undefined evars since these ones are +generally fewer than the defined ones. + ** Internal tactics renamed There is no more difference between bindings and ebindings. The diff --git a/dev/doc/perf-analysis b/dev/doc/perf-analysis index d23bf835b4..4c27d808b9 100644 --- a/dev/doc/perf-analysis +++ b/dev/doc/perf-analysis @@ -7,7 +7,7 @@ Dec 1, 2009 - Dec 19, 2009: Temporary addition of [forall x, P x] hints to Oct 19, 2009: Change in modules (CoLoR +35%) -Aug 9, 2009: new files added in AreaMethod +Aug 9, 2009: new files added in AreaMethod May 21, 2008: New version of CoRN (needs +84% more time to compile) -- cgit v1.2.3