|
From: | Auto mailings of changes to Lily Issues via Testlilyissues-auto |
Subject: | [Lilypond-auto] [LilyIssues-auto] [testlilyissues:issues] Re: #5797 Do not run GC after processing every file. |
Date: | Wed, 26 Feb 2020 22:03:41 -0000 |
On Wed, Feb 26, 2020 at 10:54 PM David Kastrup
address@hidden wrote:
There is no option for migrating to 64-bit if you are using Windows.
Is this because we never bothered to port the mingw build to 64-bit?
Folks could run 64 bit linux on docker. It's not ideal, but it should work.
debug-gc-assert-parsed-dead is, well, dead with Guile-2. It has enabled us to find a few bloopers, so it is a bit unfortunate to see it go. However, the detection of "undead" stuff happened in the mark phase, and with Guilev2 stuff can still get marked after getting collected and the mark thread is not in a position anyway where it can print out any Guile data structures without Guile exploding.
Shall we kill it then? It was a clever hack, but also unhealthily
deeply integrated with the internals of GUILE.
[issues:#5797] Do not run GC after processing every file.
Status: Started
Created: Wed Feb 26, 2020 09:39 AM UTC by Han-Wen Nienhuys
Last Updated: Wed Feb 26, 2020 09:53 PM UTC
Owner: Han-Wen NienhuysWhen processing multiple files, we ran GC between the files. The
motivation was that we use a conservative garbage collector, so we get
the most accurate scan when our stack is small. We never measured the
impact of this idea.On every GC, we pay the cost of tracing through the live set,
ie. fixed data that spans multiple files, and by forcing GC calls, we
trace that data more often than necessary.We get CPU time savings of ~20 % by not forcing GC.
For GUILE 1.8, the following timings for running "make test-baseline"
on my development branchforce GC on every file
real 3m23.886s
user 8m6.921slet the GC decide when to collect
real 3m10.523s
user 6m36.925sFor GUILE 2.2, the difference is similar.
https://codereview.appspot.com/579330043
Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/testlilyissues/issues/5797/
To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/
[issues:#5797] Do not run GC after processing every file.
Status: Started
Created: Wed Feb 26, 2020 09:39 AM UTC by Han-Wen Nienhuys
Last Updated: Wed Feb 26, 2020 09:54 PM UTC
Owner: Han-Wen Nienhuys
When processing multiple files, we ran GC between the files. The
motivation was that we use a conservative garbage collector, so we get
the most accurate scan when our stack is small. We never measured the
impact of this idea.
On every GC, we pay the cost of tracing through the live set,
ie. fixed data that spans multiple files, and by forcing GC calls, we
trace that data more often than necessary.
We get CPU time savings of ~20 % by not forcing GC.
For GUILE 1.8, the following timings for running "make test-baseline"
on my development branch
force GC on every file
real 3m23.886s
user 8m6.921s
let the GC decide when to collect
real 3m10.523s
user 6m36.925s
For GUILE 2.2, the difference is similar.
https://codereview.appspot.com/579330043
Sent from sourceforge.net because address@hidden is subscribed to https://sourceforge.net/p/testlilyissues/issues/
To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/testlilyissues/admin/issues/options. Or, if this is a mailing list, you can unsubscribe from the mailing list.
_______________________________________________ Testlilyissues-auto mailing list address@hidden https://lists.sourceforge.net/lists/listinfo/testlilyissues-auto
[Prev in Thread] | Current Thread | [Next in Thread] |