Hi,
I have implemented the diFUB (directed iterative fringe bound) algorithm. It is performing very well on all the real directed graphs which I tried:
sage: %time m.diameter(algorithm="DiFUB")
CPU times: user 304 ms, sys: 4.02 ms, total: 308 ms
Wall time: 305 ms
16
sage: %time m.diameter()
CPU times: user 28min 55s, sys: 35.4 ms, total: 28min 55s
Wall time: 28min 55s
16
but DIFUB isn't performing well on random graphs( in the worst case may take twice the number of BFS calls as the naive method)
Even though my code is complete, I still plan on adding details to my comments
Shall I open a ticket for this algorithm and open it for review?