Bruce Momjian <pgman@candle.pha.pa.us> writes: > 1) Run this script and record the time reported: > ftp://candle.pha.pa.us/pub/postgresql/mypatches/stat.script
One thing you neglected to specify is that the test must be done on a NON ASSERT CHECKING build of CVS HEAD (or recent head, at least). On these trivial "SELECT 1" commands, an assert-checking backend is going to spend over 50% of its time doing end-of-transaction assert checks. I was reminded of this upon trying to do oprofile: CPU: P4 / Xeon with 2 hyper-threads, speed 2793.03 MHz (estimated) Counted GLOBAL_POWER_EVENTS events (time during which processor is not stopped) with a unit mask of 0x01 (mandatory) count 240000 samples % symbol name 129870 37.0714 AtEOXact_CatCache 67112 19.1571 AllocSetCheck 16611 4.7416 AtEOXact_Buffers 10054 2.8699 base_yyparse 7499 2.1406 hash_seq_search 7037 2.0087 AllocSetAlloc 4267 1.2180 hash_search 4060 1.1589 AtEOXact_RelationCache 2537 0.7242 base_yylex 1984 0.5663 grouping_planner 1873 0.5346 LWLockAcquire 1837 0.5244 AllocSetFree 1808 0.5161 exec_simple_query 1763 0.5032 ExecutorStart 1527 0.4359 PostgresMain 1464 0.4179 MemoryContextAllocZeroAligned Let's be sure we're all measuring the same thing. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq