On 12-12-16 06:06 PM, Siarhei Siamashka wrote:
> On Sun, 16 Dec 2012 15:34:57 -0500
> Behdad Esfahbod <beh...@behdad.org> wrote:
> 
>> On 12-12-16 12:13 AM, Siarhei Siamashka wrote:
>>> Any comments or ideas? Hopefully not a C vs. C++ flamewar :)
>>
>> I would go as far as suggesting that C++ becomes a requirement.  I did that 
>> in
>> HarfBuzz and never looked back.  It's possible to use many useful features of
>> the language (templates, etc) without linking to libstdc++, so from the 
>> user's
>> point of view there's absolutely no difference between that kind of a library
>> and a C library.
> 
> One problem with these useful C++ features is that making use of them,
> we are wilfully becoming the hostages of a compiler. But the real
> existing compilers are struggling even to handle inline functions
> without bugs and performance regressions:
>     http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54965
> 
> So I'm leaning to remain conservative and initially use C++ features
> only as a debugging aid. Just like OpenMP, gcc vector extensions,
> 128-bit float types and the other fancy compiler features are only
> used (or proposed to be used) in the test suite.

You definitely have a point.  However, this exact example is why I always
thought Pixman in particular can make good use of templates.  Because
essentially that's what Pixman is: operation templates instantiated with lots
of different options.  Currently we just use always_inline and hope that the
compiler does the right thing.  With C++ those become template instantiations
that have much more chance to be inlined and optimized.  Incidentally, I think
that's the approach Skia took.

Anyway, just dropping ideas on the table.

-- 
behdad
http://behdad.org/
_______________________________________________
Pixman mailing list
Pixman@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pixman

Reply via email to