[luatex] fio library byte order
Hans Hagen
j.hagen at xs4all.nl
Mon Jun 29 15:35:57 CEST 2020
On 6/29/2020 10:30 AM, Taco Hoekwater wrote:
>
>
>> On 28 Jun 2020, at 03:26, Reinhard Kotucha <reinhard.kotucha at web.de> wrote:
>>
>>>>
>>>> As far as I understand it's sufficient that the relevant
>>>> functions read{cardinal,integer}{2,4} obey a flag which tells
>>>> them whether byte re-ordering is necessary. The flag has to be
>>>> set if host and file byte orders are different. I don't know
>>>> whether we have to consider 64 bit integers too.
>>>
>>> that adds passing parameters and checking them for each call
>>> ... you can then as well use lua's 'read' function and convert with
>>> string.byte/char which is then about equally fast
>>
>> This is what I actually did. It took 14 s to process a PNM file, way
>> too much if I have to process hundreds or thousands files. I ported
>> the script to C and could process the file within 270 ms. I can't
>> imagine that obeying a variable in C can slow down everything so much.
>
> The quick way to fix this without noticeable overhead would be to add
> a few extra function definitions for read{cardinal,integer}{2,4} in
> the byte permutations that are likely to actually happen. There are
> not *that* many of those.
that was indeed the idea ... (i'll do it this week)
Hans
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
More information about the luatex
mailing list.