[petsc-dev] [PATCH] config: test functions and headers only once
Jed Brown
jedbrown at mcs.anl.gov
Sat May 4 18:07:37 CDT 2013
Jed Brown <jedbrown at mcs.anl.gov> writes:
> config/BuildSystem/config/functions.py | 4 ++++
> config/BuildSystem/config/headers.py | 4 ++++
> 2 files changed, 8 insertions(+)
>
> diff --git a/config/BuildSystem/config/functions.py b/config/BuildSystem/config/functions.py
> index 30da45e..7b700cb 100644
> --- a/config/BuildSystem/config/functions.py
> +++ b/config/BuildSystem/config/functions.py
> @@ -197,5 +197,9 @@ choke me
> self.executeTest(self.checkSignalHandlerType)
> self.executeTest(self.checkFreeReturnType)
> self.executeTest(self.checkVariableArgumentLists)
> + try:
> + self.functions = list(set(self.functions))
> + except:
> + pass
> map(lambda function: self.executeTest(self.check, function), self.functions)
I merged a simpler version of this because we require Python-2.4, which
turns out to support set(), and we use it without guards in a few places
already. (I forget which version was needed.) The simpler patch below
is in 'next':
commit 8d170a4e15dd121552744a461c11f3b0d6d37794
Author: Jed Brown <jedbrown at mcs.anl.gov>
Date: Sat May 4 17:51:07 2013 -0500
config: test functions and headers only once
Many functions and headers are mentioned in both BuildSystem and PETSc,
thus being tested more than once. Removing this redundancy speeds up my
configure from 125 seconds to 110 seconds.
diff --git a/config/BuildSystem/config/functions.py b/config/BuildSystem/config/functions.py
index 30da45e..d934c7b 100644
--- a/config/BuildSystem/config/functions.py
+++ b/config/BuildSystem/config/functions.py
@@ -197,5 +197,5 @@ choke me
self.executeTest(self.checkSignalHandlerType)
self.executeTest(self.checkFreeReturnType)
self.executeTest(self.checkVariableArgumentLists)
- map(lambda function: self.executeTest(self.check, function), self.functions)
+ map(lambda function: self.executeTest(self.check, function), set(self.functions))
return
diff --git a/config/BuildSystem/config/headers.py b/config/BuildSystem/config/headers.py
index e180eaa..1da32de 100644
--- a/config/BuildSystem/config/headers.py
+++ b/config/BuildSystem/config/headers.py
@@ -230,6 +230,6 @@ class Configure(config.base.Configure):
self.executeTest(self.checkSysWait)
self.executeTest(self.checkTime)
self.executeTest(self.checkMath)
- map(lambda header: self.executeTest(self.check, header), self.headers)
+ map(lambda header: self.executeTest(self.check, header), set(self.headers))
self.executeTest(self.checkRecursiveMacros)
return
More information about the petsc-dev
mailing list