Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(703)

Issue 579330043: Do not run GC after processing every file. (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
4 months, 2 weeks ago by hanwenn
Modified:
3 months, 3 weeks ago
Reviewers:
CC:
lilypond-devel_gnu.org
Visibility:
Public.

Description

Do not run GC after processing every file. 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.

Patch Set 1 #

Patch Set 2 : guile2 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+17 lines, -11 lines) Patch
M scm/lily.scm View 1 2 chunks +17 lines, -11 lines 0 comments Download

Messages

Total messages: 2
hanwenn
guile2
4 months, 1 week ago (2020-02-28 17:53:03 UTC) #1
hanwenn
3 months, 3 weeks ago (2020-03-15 15:33:44 UTC) #2
commit e36b7c7ea986418bcfebfba6c6c971db05b77afb
Author: Han-Wen Nienhuys <hanwen@lilypond.org>
Date:   Tue Feb 25 21:39:10 2020 +0100

    GUILE2: Do not run GC after processing every file.
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b