Re: improving speed of make check-world
От | Heikki Linnakangas |
---|---|
Тема | Re: improving speed of make check-world |
Дата | |
Msg-id | 53FB7326.9010006@vmware.com обсуждение исходный текст |
Ответ на | improving speed of make check-world (Peter Eisentraut <peter_e@gmx.net>) |
Ответы |
Re: improving speed of make check-world
|
Список | pgsql-hackers |
On 08/15/2014 08:45 AM, Peter Eisentraut wrote: > make check-world creates a temporary installation in every subdirectory > it runs a test in, which is stupid: it's very slow and uses a lot of > disk space. It's enough to do this once per run. That is the essence > of what I have implemented. It cuts the time for make check-world in > half or less, and it saves gigabytes of disk space. Nice! > The idea is that we only maintain one temporary installation under the > top-level directory. By looking at the variable MAKELEVEL, we can tell > whether we are the top-level make invocation. If so, make a temp > installation. If not, we know that the upper layers have already done > it and we can just point to the existing temp installation. > > I do this by ripping out the temp installation logic from pg_regress and > implementing it directly in the makefiles. This is much simpler and has > additional potential benefits: > > The pg_regress temp install mode is actually a combination of two > functionalities: temp install plus temp instance. Until now, you could > only get the two together, but the temp instance functionality is > actually quite useful by itself. It opens up the possibility of > implementing "make check" for external pgxs modules, for example. > > Also, you could now run the temp installation step using parallel make, > making it even faster. This was previously disabled because the make > flags would have to pass through pg_regress. It still won't quite work > to run make check-world -j8, say, because we can't actually run the > tests in parallel (yet), but something like make -C src/test/regress > check -j8 should work. > > To that end, I have renamed the pg_regress --temp-install option to > --temp-instance. Since --temp-install is only used inside the source > tree, this shouldn't cause any compatibility problems. Yeah, that all makes a lot of sense. The new EXTRA_INSTALL makefile variable ought to be documented in extend.sgml, where we list REGRESS_OPTS and others. - Heikki
В списке pgsql-hackers по дате отправления: