[Bug 588941] Review Request: pypy - Implementation of the Python language, using Python itself
bugzilla at redhat.com
bugzilla at redhat.com
Fri Dec 17 01:45:41 UTC 2010
Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.
https://bugzilla.redhat.com/show_bug.cgi?id=588941
--- Comment #32 from Dave Malcolm <dmalcolm at redhat.com> 2010-12-16 20:45:39 EST ---
(In reply to comment #11)
...
> 1) License tag is better. dmalcolm: I found the list of licenses that had
> been included in the spec file present in the LICENSE file. If that's where
> you got the original list from then the license tag should now be correct. I
> was able to remove LGPL and Distributable because those were coming from
> bundled jar files. I removed the bundled jars (see below) so that should now
> be fine.
The LICENSE file is indeed where I got that list from. I haven't yet gone
through the full tarball payload.
> 4) The build isn't make driven but I didn't look at parallelizing it.
The compilation phase invokes a Makefile; on my machine it used "-j 4", and in
one of the Koji scratch builds it used "-j 10"
It appears to come from this code in
pypy-1.4/pypy/translator/c/genc.py:compile:
> if self.config.translation.make_jobs != 1:
> extra_opts += ['-j', str(self.config.translation.make_jobs)]
which in turn is intialized in this code in
pypy-1.4/pypy/config/translationoption.py:
cmdline="--make-jobs", default=detect_number_of_processors()),
Hopefully that's good enough for our build system.
It's actually visible in the built binary, FWIW:
> $ ./pypy --info|grep make_jobs
> translation.make_jobs: 4
Unfortunately that parallelizable phase is only a small fraction of the build
time (see "compile_c" below); from the x86_64 scratch build's log:
[Timer] Timings:
[Timer] annotate --- 780.8 s
[Timer] rtype_lltype --- 491.7 s
[Timer] pyjitpl_lltype --- 712.2 s
[Timer] backendopt_lltype --- 202.3 s
[Timer] stackcheckinsertion_lltype --- 21.6 s
[Timer] database_c --- 243.8 s
[Timer] source_c --- 477.3 s
[Timer] compile_c --- 148.4 s
[Timer] ===========================================
[Timer] Total: --- 3078.2 s
real 52m21.339s
user 49m43.905s
sys 0m3.552s
so roughly 15% of that build time benefited from the 10 cores on that machine
(presumably, would have been ~1480 seconds otherwise, so that at least is a
significant saving).
As I understand it, parallelizing the rest of the build would involve major
rewrites (it's all in one big cpython process)
> 5) rpmlint c): Yeah, it's because it's named -libs. Another possible name is
> -stdlib since it is the python stdlib(for pypy).
Did moving to versioned requirements fix this?
> 5e) I was waiting for the koji build to complete to see if this is still an
> issue with 1.4.
Seems to have been fixed, either in 1.4, or in Toshio's work on the specfile.
> 5f) dmalcolm, what did we decide to do with this on the python and python3
> packages?
I've copied a fixer-upper from the python3 specfile in my 1.4-4 pypy.spec
> Other:
> * Removed bundled jar files. Pre-built files are not allowed. It looks like
> these were present in case we were building a pypy that targets the jvm (rather
> than POSIX-C). Simple removal should be fine until/unless we want to enable
> that backend. If we do enable that, one of the jar files is packaged for
BTW, I considered building that one. The impression I get is that the JVM
backend isn't as mature as the .c backend, so it seems simplest to omit it for
now. (fijal: do you have any advice/guidance on this?)
--
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the package-review
mailing list