[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Illegal C++
From: |
Han-Wen Nienhuys |
Subject: |
Re: Illegal C++ |
Date: |
Fri, 07 Oct 2005 10:52:02 +0200 |
User-agent: |
Mozilla Thunderbird 1.0.7-1.1.fc4 (X11/20050929) |
Wiz Aus wrote:
Because we want to skip the (proxy) function calls for performance
reasons.
Um...lilypond uses an interpretive language (Scheme), goes via TEX
and PS to produce output, and you're worried about a few extra C++
function calls? I would be flabbergasted if this made any measurable
difference to lilypond's performance.
Actually, the optimization was pretty trivial once I had the
precomputed methods going. FWIW, the top of the profile shows a lot of
these "lowlevel" function calls that take a large amount of total
execution time because of how often they are called.
Hmm...I reverse the right to remain highly skeptical! Lilypond is very
slow as far as music typesetting software goes - too slow to use in a
GUI, for instance (Sibelius claims to reformat entire 100-page scores in
milliseconds - no idea how it does it).
It doesn't, obviously. Try loading a 100-page midi file into it, and see
how it fares. I suspect it does some clever caching. Also Sibelius'
algorithms, contrary to what their marketing department says, are not
that advanced. If you drag notes on-screen, then yes the spacing can be
changed interactively, but it will happely put different notes on top of
each other.
> If you really wanted
performance, you'd scrap the Scheme and TeX layers.
Certainly. Could you send me a patch for that?
If we had to do it again, it is doubtful that we would use C++. I
actually generally hate C++ , so I don't care much about conformance.
For the past 9 years, following C++ "conformance" has been a rocky
road. No compiler is completely standard conformant, so I just track
the latest GCC releases for compatibility.
I agree worrying about strict conformance is a bit of a waste of time -
but to deliberately make use of a surely undocumented behavioural aspect
of a particular compiler is just asking for trouble.
-Wno-pmf-conversion is thorougly documented in the GCC manual.
I was actually seriously interested in trying to determine what it would
take to provide a GUI for lilypond music entry, but I really can't see
how it would be done without major changes to the existing code (for a
start, there's no easily replaceable interface that's used to do the
graphical drawing).
But there is; check out scm/framework-gnome.scm for a backend that
outputs to a GNOME canvas.
--
Han-Wen Nienhuys - address@hidden - http://www.xs4all.nl/~hanwen
- Re: Illegal C++,
Han-Wen Nienhuys <=