New List

Поиск
Список
Период
Сортировка
От Gaetano Mendola
Тема New List
Дата
Msg-id 3FB40C06.8090202@bigfoot.com
обсуждение исходный текст
Ответы Re: New List  (Neil Conway <neilc@samurai.com>)
Список pgsql-patches
Hi all,
in the thread "equal() perf tweak" I and
Neil we were discussing about the new
implementation of a list.
We add a little discussion on how implement it
these are my results:


1) "Neil" list and length linear time

    10E6 INSERT => real   0m5.161s
                        user   0m4.010s
                        sys    0m1.150s

2) "Neil" list and length constant time

    10E6 INSERT => real   0m5.232s
                        user   0m4.200s
                        sys    0m1.030s

3) "stl::list" fashion and length linear time

    10E6 INSERT => real   0m5.352s
                        user   0m4.260s
                        sys    0m1.090s

4) "stl::list" fashion and length constant time

    10E6 INSERT => real   0m5.480s
                        user   0m4.340s
                        sys    0m1.110s



this show, at list on my HW
    Pentium III (Coppermine)
    870.587 MHz
         256 KB cache
that implement the length in constant time
is almost the same ( less than 2% of the total time)

This show also that the classical implementation win
vs the stl::list fashion.
We shall consider also that in case of stl::list all
methods are inlined, I tried also "inlining" the function
replacing the function call with the body function:


5) "Neil" list
    real   0m4.909s
         user   0m3.790s
         sys    0m1.110s

6) "stl::list"

        real   0m5.146s
        user   0m3.980s
        sys    0m1.090s




So at the end I think that the best solution is
the Neil classical proposal and mantain the length
function constant time.



Regards
Gaetano Mendola


















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

Предыдущее
От: Hannu Krosing
Дата:
Сообщение: Re: ALTER TABLE modifications
Следующее
От: Andrew Dunstan
Дата:
Сообщение: Re: [HACKERS] heads up -- subtle change of behavior of new initdb