Re: Speedup usages of pg_*toa() functions

Поиск
Список
Период
Сортировка
От Andrew Gierth
Тема Re: Speedup usages of pg_*toa() functions
Дата
Msg-id 87h7vk6y4k.fsf@news-spur.riddles.org.uk
обсуждение исходный текст
Ответ на Re: Speedup usages of pg_*toa() functions  (Ranier Vilela <ranier.vf@gmail.com>)
Ответы Re: Speedup usages of pg_*toa() functions  (Ranier Vilela <ranier.vf@gmail.com>)
Список pgsql-hackers
>>>>> "Ranier" == Ranier Vilela <ranier.vf@gmail.com> writes:

 Ranier> Written like that, wouldn't it get better?

 Ranier> int
 Ranier> pg_lltoa(int64 value, char *a)
 Ranier> {
 Ranier>     if (value < 0)
 Ranier>     {
 Ranier>         int         len = 0;
 Ranier>         uint64      uvalue = (uint64) 0 - uvalue;
 Ranier>         a[len++] = '-';
 Ranier>         len += pg_ulltoa_n(uvalue, a + len);
 Ranier>         a[len] = '\0';
 Ranier>         return len;
 Ranier>     }
 Ranier>     else
 Ranier>         return pg_ulltoa_n(value, a);
 Ranier> }

No. While it doesn't matter so much for pg_lltoa since that's unlikely
to inline multiple pg_ulltoa_n calls, if you do pg_ltoa like this it (a)
ends up with two copies of pg_ultoa_n inlined into it, and (b) you don't
actually save any useful amount of time. Your version is also failing to
add the terminating '\0' for the positive case and has other obvious
bugs.

-- 
Andrew (irc:RhodiumToad)



В списке pgsql-hackers по дате отправления:

Предыдущее
От: U ikki
Дата:
Сообщение: Fixed the remaining old function names.
Следующее
От: Pavel Stehule
Дата:
Сообщение: Re: Inlining of couple of functions in pl_exec.c improves performance