bug-lilypond
[Top][All Lists]
Advanced

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

Re: Illegal C++


From: Erik Sandberg
Subject: Re: Illegal C++
Date: Tue, 11 Oct 2005 10:59:42 +0200
User-agent: KMail/1.8.1

On Monday 10 October 2005 18.17, Han-Wen Nienhuys wrote:
> Wiz Aus wrote:
> > Even if it did use pre-compiled scheme, because lilypond supports
> > compiling scores that contain Scheme code, it would still require
> > effectively interpretive processing, which is not doubt a large reason
> > for it's less-than-blinding-fast operation.
>
> The problem is not so much in the Scheme execution, because the real
> work is done in C++ routines. The  problem is rather that data
> structures are completely dynamic, so reading and writing a variable
> isn't reading and writing memory, but rather walking linked lists or
> lookups in hashtables. 

To me, those property lists look like major bottlenecks (though I haven't done 
any real profiling). Especially the grob property alists: While I was 
debugging some time ago, I saw that Grob::internal_set_property was called 
over 1000 times in a trivial score.

How would it be to build our own hash table lib (or use a patched version of 
an existing third-party lib) for efficient property lists?

There's a free (as in BSD) hash lib here, I don't know if it's good:
http://sourceforge.net/projects/goog-sparsehash/

I also haven't done any thinking on how this would work together with Guile; 
it's just a wild idea.

-- 
Erik




reply via email to

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