On the subject of test total time, we could paralelize isolation tests.
Right now "make check" in src/test/isolation takes 1:16 on my machine.
Test "timeouts" takes full 40s of that, with nothing running in parallel
-- the machine is completely idle.

Seems like we can have a lot of time back just by changing the schedule
to use multiple tests per line (in particular, put the other slow tests
together with timeouts), per the attached; with this new schedule,
isolation takes 44 seconds in my machine -- a win of 32 seconds.  We can
win a couple of additional second by grouping a few other lines, but
this is the biggest win.

(This needs to be adjusted because some table names in the specs
conflict.)

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
diff --git a/src/test/isolation/isolation_schedule 
b/src/test/isolation/isolation_schedule
index 74d7d59546..f8dbd018e7 100644
--- a/src/test/isolation/isolation_schedule
+++ b/src/test/isolation/isolation_schedule
@@ -1,3 +1,4 @@
+test: timeouts tuplelock-update deadlock-hard deadlock-soft-2 alter-table-1 
receipt-report multiple-row-versions
 test: read-only-anomaly
 test: read-only-anomaly-2
 test: read-only-anomaly-3
@@ -6,26 +7,18 @@ test: read-write-unique-2
 test: read-write-unique-3
 test: read-write-unique-4
 test: simple-write-skew
-test: receipt-report
 test: temporal-range-integrity
 test: project-manager
 test: classroom-scheduling
 test: total-cash
 test: referential-integrity
 test: ri-trigger
-test: partial-index
-test: two-ids
-test: multiple-row-versions
-test: index-only-scan
+test: partial-index two-ids index-only-scan eval-plan-qual lock-update-delete 
lock-committed-update lock-committed-keyupdate tuplelock-conflict alter-table-2 
alter-table-3 create-trigger
 test: deadlock-simple
-test: deadlock-hard
 test: deadlock-soft
-test: deadlock-soft-2
 test: fk-contention
 test: fk-deadlock
 test: fk-deadlock2
-test: eval-plan-qual
-test: lock-update-delete
 test: lock-update-traversal
 test: insert-conflict-do-nothing
 test: insert-conflict-do-nothing-2
@@ -38,12 +31,8 @@ test: delete-abort-savept-2
 test: aborted-keyrevoke
 test: multixact-no-deadlock
 test: multixact-no-forget
-test: lock-committed-update
-test: lock-committed-keyupdate
 test: update-locked-tuple
 test: propagate-lock-delete
-test: tuplelock-conflict
-test: tuplelock-update
 test: freeze-the-dead
 test: nowait
 test: nowait-2
@@ -56,13 +45,8 @@ test: skip-locked-3
 test: skip-locked-4
 test: drop-index-concurrently-1
 test: multiple-cic
-test: alter-table-1
-test: alter-table-2
-test: alter-table-3
 test: alter-table-4
-test: create-trigger
 test: sequence-ddl
 test: async-notify
 test: vacuum-reltuples
-test: timeouts
 test: vacuum-concurrent-drop

Reply via email to