My main concern was fixing the warnings (~150, mostly vsize vs. int), and 
getting to know the codebase a bit.
    However, during this procedure I have changed other things also, typedef-ed 
enums, empty else statements, string repeating, unreferenced parameter names 
and some random cosmetics, like code and comment spacing etc. Please check for 
errors.
    I've also changed the sign and comparison code from the branching "if () 
return else if return else ..." to the non-branching "return (b < a) - (a < 
b)", which was 5 and 30% faster in my tests.
    I have also changed a few "*0.5"  to  "/2.0", since the generated code is 
the same (just checked it, same speed also, of course), and I think a logical 
division should be marked as a division (and both were used in the code in a 
-seemingly- random way).

A few questions(haven't searched through the mails):

        * Why are many lines wrapped at 60-80 (while some at 100)? This makes 
reading the code hard, console mode wrapping seems deprecated to me (especially 
on my 24'' monitor). I think that 95-110 chars/line are better in most cases 
then wrapping @ 80.
        * Are unsigned variables really necessary here? (I guess the vector's 
length() makes them necessary)

        * and double precision and i64? Is that level of precision required 
over the speed gain? (it might be, I'm just askin' if it was considered)

        * How about SSE optimization? There might be lots of data with same 
instructions.    The diff is quite big (~2700 lines and ... 99 files ... how 
did I do that??), but most of the warnings (except for the missing images in 
the docs, some deprecated makefile warnings and some strange lexer warnings) 
will go away.

http://codereview.appspot.com/1724041/show

Lőrinc

ps. this patch includes the previous one, posted as an attachment.
Please tell, if something was inappropriate.



      
_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to