[poppler] Openjpeg2 patches: Why de-inline doGetChar?
Adam Reichold
adam.reichold at t-online.de
Mon Jan 5 12:46:32 PST 2015
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Hello again,
suggested changes attached as patch.
Best regards, Adam.
Am 05.01.2015 um 21:24 schrieb Adam Reichold:
> Hello,
>
> Am 04.01.2015 um 23:44 schrieb Albert Astals Cid:
>> El Dilluns, 5 de gener de 2015, a les 08:53:26, Adrian Johnson
>> va escriure:
>>> On 05/01/15 08:39, Albert Astals Cid wrote:
>>>> Adrian, any reason you de-inlined doGetChar in the patches
>>>> for openjpeg2?
>>>>
>>>> As far as i remember when i made this function inline it got
>>>> us a not so bad free speed increase.
>>>
>>> When I wrote the patch I moved all openjpeg specific types and
>>> code into the .cc file. I could not figure out how to make an
>>> inline function in the .h access the JPXStreamPrivate struct
>>> that is defined in the .cc file.
>
>> I see :/
>
>> Cheers, Albert
>
> Looking at the implemenation, both "doGetChar" and "doLookChar"
> will always be called inside "JPEG2000Stream.cc" via the virtual
> methods "getChar(s)" and "lookChar", so I'd say we could just mark
> the implemenations as "inline" as the compiler can still inline
> within the compilation unit.
>
> Actually, I think there is no compelling reason to have those
> present in the header at all, as they always seem to access the
> data via the "priv" pointer anyway, so I'd say the declarations
> like
>
> static inline int doGetChar(JPXStreamPrivate* priv); static inline
> int doLookChar(JPXStreamPrivate* priv);
>
> only within the source file could open even more possibilities for
> compiler optimizations. (You could probably also make them inline
> methods of "JPXStreamPrivate" as well, but then the compiler would
> have to infer the effective linkage. Maybe we could put the whole
> definition of "JPXStreamPrivate" within the anonymous namespace
> anyway?)
>
> Best regards, Adam.
>
>>>
>>>> Cheers,
>>>>
>>>> Albert
>>>>
>>>> _______________________________________________ poppler
>>>> mailing list poppler at lists.freedesktop.org
>>>> http://lists.freedesktop.org/mailman/listinfo/poppler
>>>
>>> _______________________________________________ poppler
>>> mailing list poppler at lists.freedesktop.org
>>> http://lists.freedesktop.org/mailman/listinfo/poppler
>
>> _______________________________________________ poppler mailing
>> list poppler at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/poppler
>
> _______________________________________________ poppler mailing
> list poppler at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/poppler
>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQEcBAEBCAAGBQJUqvgiAAoJEPSSjE3STU34u7YIAKmkBl6AR6IcRd+9wWNMSHr5
XsEvqXlQWLk85YzKHR4lxXCK2y7N1+84sjIBYZK+CYbxnNbCFCJC4U8edLkW/oWP
5fMBipKLRJ+OKEwXqfSKmeOwithegTIHEK51J7Y2kW5kgrhrBtWm8Lo7aVvuVoqU
dZtegXKrqikNulK6zI3FlC/n77MVLll3Yxf5uAIv5kouch4HwNxwk2U3vwrlK/R+
m+5UJjb1o6r6AYy9ER50X3fOvveAbJZ91cg9aVDWDP0rzxVMLNYr1Nkz4YIKVnXB
avm76xXgP0cVol5AQB2/I8Be7EqWKt4Uo/1lG1SGrubaTis85/LNv9/cLqh0Oi4=
=aLA1
-----END PGP SIGNATURE-----
-------------- next part --------------
A non-text attachment was scrubbed...
Name: static-inline-dogetchar.patch
Type: text/x-patch
Size: 2743 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/poppler/attachments/20150105/b6beaee2/attachment.bin>
More information about the poppler
mailing list