[PATCH] ipsum_calc_block: Optimize size and speed

Ondrej Filip feela at network.cz
Fri Apr 23 19:28:27 CEST 2010


On 23.4.2010 19:01, Joakim Tjernlund wrote:
> 
> Ondrej Filip <feela at network.cz> wrote on 2010/04/23 18:41:57:
>>
>> On 23.4.2010 18:32, Ondrej Zajicek wrote:
>>> On Fri, Apr 23, 2010 at 03:20:55PM +0200, Martin Mares wrote:
>>>> Hello!
>>>>
>>>> My primary reaction was "If something isn't broken, don't fix it." I.e.,
>>>> unless you have good reasons for rewriting a piece of code, don't do that.
>>>>
>>>> Your version is more readable and I would be in favour of accepting it,
>>>> but I would still like to see at least a very simple benchmark which shows
>>>> that it is not significantly slower.
>>>
>>> I was curious enough to do some benchmarks and got these results:
>>>
>>> Intel Atom:   suggested code ~ 1.2* faster
>>> AMD Geode:   no diference
>>> MIPS ADM5120:   old code ~ 1.2* faster
>>>
>>> So there isn't really difference in performance of both
>>> implementations. Even on slow embedded AMD Geode CPU, it gives
>>> ~ 180 MB/s.
> 
> No difference? what does 1.2 mean? to me this means 20% which is a lot

And the code is 20% slower on MIPS. So I do not see the point. Anyway,
20% in a not often used operation does not have to be even visible.

>> Hmm, so there is no major reason for change. I would really support
>> dont-fix-whats-not-broken approach. And also we should keep different
> 
> So it is smaller, faster and easier to read and you still
> want to keep the old code? Very non Open source like I
> must say.

It was not proven that this code is faster.

>> code from Quagga to have heterogeneity.
> 
> What kind of argument is that?

Well, let me explain you a few things. It had happened many times,
that some wrong (mainly BGP) routing announcement were exported into
Internet and all routers of one type (often Quaggas) has crashed. BIRD
is used on some very important places like world largest IXPs as a
route server (RS). Each IXP usually has at least two different RSs (if
possible to avoid implementation dependent bugs. The second RS is
usually OpenBGPd of Quagga. So generally speaking, I do not want to
use any code from those routing daemons.

> Sorry, but this all feels like NIH syndrome.

Again, BIRD is used on some very important places and therefore we are
very conservative in accepting new patches. But I don't think we have
NIH syndrome. We have been accepting foreign patches since beginning
and Ondrej Zajicek is a good example. :-) He had sent me some new
patches and later we started a regular cooperation and he became a key
developer.

				Ondrej


> 
>>
>>          Ondrej
> 




More information about the Bird-users mailing list