lilypond-auto
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Lilypond-auto] [LilyIssues-auto] [testlilyissues:issues] #5741 Parse in


From: Auto mailings of changes to Lily Issues via Testlilyissues-auto
Subject: [Lilypond-auto] [LilyIssues-auto] [testlilyissues:issues] #5741 Parse inline scheme using per-expression port
Date: Sat, 22 Feb 2020 14:28:08 -0000

Not referencing the issue in the commit message makes it harder to find the issue in the tracker. After a few patchy runs It appears like this change may cause a massive impact on performance at least for a Guile-1.8 based compilation. A patchy run on a mostly unloaded machine previously took about 40 minutes on my computer. Now it appears to be more like 52 minutes. Considering that non-trivial amounts of time also get spent by GCC and Ghostscript, that seems rather troubling. Have you benchmarked the Guile-1.8 case (where performance problems may be less masked by startup times etc)?

If we can verify that on a Guile-1.8 compilation the slow-down is like this (I'd guess that the slowdown when reduced to just the LilyPond contribution could be about 30%), I think we should not include a version of this in 2.21.0 but release at least one unstable version without it so that actual users have a chance to report slowdowns in case they reappear.

I don't think this patch actually fixes any Guile-2 problem when viewed against the current version of master as opposed to what was in master when you designed it?


[issues:#5741] Parse inline scheme using per-_expression_ port

Status: Fixed
Labels: Fixed_2_21_0
Created: Fri Feb 07, 2020 02:52 PM UTC by Han-Wen Nienhuys
Last Updated: Sat Feb 22, 2020 11:29 AM UTC
Owner: Han-Wen Nienhuys

Introduces a throw-away string port, Overlay_string_port, which makes
a port out of a random section of a C string. It does not own the
string, so there is no overhead in creating and discarding the ports
during parse time.

For GUILE v2, Overlay_string_port uses UTF-8 encoding, so UTF-8
encoded string constants within the Scheme constants are interpreted
as Unicode correctly.

This obviates the string port that Source_file carries along.

This commit fixes a problem with GUILE 2.2.6, where LilyPond
calculates offsets in the source file as bytes, while GUILE interprets
the source file as UTF-8 encoded Unicode. As a result, files with
Unicode before embedded scheme break completely.

https://codereview.appspot.com/557330043


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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]