------- Comment #7 from sergstesh at yahoo dot com 2006-11-14 02:54 ------- (In reply to comment #6) > (In reply to comment #5) > > We can make a deal: I obfuscate and publish the code, you guys fix the > > bug preserving, if possible, performance. > > > > The code is really complex, and it's not realistic for me to make it > > smaller. > > I guess our side of the deal would be: if you don't want to help us, we don't > want to help you. You need to give us some more information to entice us to > spend our leisure time on it. This is free software, after all. > > W. >
I don't quite understand what you want. Will it be enough if I give you the code which shows the above performance difference ? Are you interested to do the research and improvement ? I am simply saying I do not want to spend my time changing the code to be able to publish it if you are not going to deal with the performance issue anyway. I think it's common interest to have a well performing compiler, especially taking into account that the newer version performs somewhat worse than the older one. If you are talking about the size - believe me the code is really sensitive, that's why I am afraid to change it significantly. For example, initially there were parts organized like this: <bunch_of_actions_of_type_A> <bunch_of_actions_of_type_B> - it was easier to think of the implementation this way. Logically it was possible to interleave pieces of <bunch_of_actions_of_type_A> and <bunch_of_actions_of_type_B>, so I tried this change, and it improved performance. I tried other things like interleaved/separate buffers, but the result deteriorated. So, I am where am, and I'm afraid if I changed the code the performance phenomena would change with it. I probably can still make the code smaller - there are kind of unrolled by myself loops in it (but not quite, i.e. it's not only array elements in the unrolled pieces), so I can probably decrease the number of iterations. So, say, instead of 60 similar pieces in each portion you'll have 30 or 20 ones. But it will still be thousands of lines. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29818