[PATCH] ipsum_calc_block: Optimize size and speed

Joakim Tjernlund joakim.tjernlund at transmode.se
Fri Apr 23 19:54:14 CEST 2010


Ondrej Filip <feela at network.cz> wrote on 2010/04/23 19:28:27:
>
> 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.

So basically you are saying that outsiders like my self aren't welcome
because BIRD is so important to some IXPs that you don't want to
take any chanches? I had hoped that the possible changes I would need
to do could be fed back into BIRD so I didn't have to maintain
them myslef forever.

 Jocke




More information about the Bird-users mailing list