Unreviewed patches

Daniel Berlin dberlin@dberlin.org
Tue Jun 3 12:47:00 GMT 2003


On Tuesday, June 3, 2003, at 03:49  AM, Zdenek Dvorak wrote:

> Hello,
>
>>>> http://gcc.gnu.org/ml/gcc-patches/2003-04/msg01569.html
>>>
>>> Again this patch foundered due to the impasse between the original
>>> author and yourself and the lack of a maintainer to moderate.  More
>>> supporting evidence would have helped.
>> This one i have more of a problem with.
>> I really doubt that everyone else who uses a fibheap is wrong.
>> It *should* be faster, and if it *really* matters, i can do it.
>> I just don't see it as that big a deal when nothing currently really 
>> uses
>> the stuff.
>
> the webizer does, as well as my new induction variable detection on rtl
> level; this is why I am concerned about the speed of df functions.
Where can i find this stuff?  When I can access it, i'm happy to 
profile and speed up.

>
> Considering the fibheap stuff -- IMHO in general the more complicated
> structures have larger multiplicative constants than the equivalent 
> simpler
> structures (the O(1) insert for fibheaps does not really matter, as you
> pull everything from the queue anyway).  The fibheaps lose mostly due
> to being forced to manipulate a complicated structure consisting from
> multiple levels of double-linked lists, while the simple heaps have
> no such overhead. This of course does not say that our implementation
> cannot be faster, just that I doubt it can beat the simple heaps.
>
Which is where i believe you are dead wrong.

> For why then fibheaps are so often used -- they are pretty flexible and
> support wide range of operations that the normal heaps do not or
> require to add similar overhead to support them.

They are often used as priority queues where there is no need to 
decrement a key quickly.
They are widely regarded as *faster* as a priority queue structure than 
normal heaps.
I have a hard time believing you are correct, and every piece of 
published material i can find (including my textbook from design and 
analysis of efficient algorithms, for that matter) is wrong.
I find it much more likely to be an implementation problem on my part.

>
> Zdenek
>



More information about the Gcc-patches mailing list