On Tue, Mar 24, 2020 at 10:26:25PM +0100, Aurelien LAJOIE wrote: > There is 2 improvements: > > * remove useless uuid_unpack, > * directly print the hexa format from memory without using printf > we can do this as the bytes order is the network byte order I'm not sure, but are you sure that whole UUID is in big-endian order? I think that last part (aka "node", 6 bytes) is not subject to swapping. It seems uuid_unpack() does nothing with the last part of the UUID. But your patch works on LE as well as on BE, so I probably miss something :-) > before took 382623 us > after took 36740 us > > Big Endian OpenBSD: > before took 3138172 us > after took 180116 us I guess all this is about sprintf(), another way would be to use uuid_unpack() but avoid sprintf(). Karel -- Karel Zak <kzak@xxxxxxxxxx> http://karelzak.blogspot.com