Home > PPE_reconciliation_test

PPE_reconciliation_test

PPE_reconciliation_test is a project mainly written in ..., it's free.

Quick test project to show SQL timings for reconcilation using a DB based pa/field model.

== Test app for PPE Reconciliation

Quick test of idea for making PPE field reconciliation database backed instead of using marshalled objects.

To run the test, type:

./rebuild

Results of test on MBP 2.8ghz 4GB, PostgreSQL 8.3


IMPORT TEST BENCHMARKS TESTING JOIN WRITE AND READ SPEEDS FOR RECONCILIATION PA AND FIELDS



CREATING 50 PA'S WITH 20 ASSOCIATED FIELDS EACH 12.065015 seconds to create 50 pas' with 20 fields each. 120.65015 minutes to create all German PA's (30,000)

Loading all PA's and their fields. SQL output and timings below

MANUAL SQL - SELECT "fields"., t0.pa_id as the_parent_record_id FROM "fields" INNER JOIN "fields_pas" t0 ON "fields".id = t0.field_id SQL (0.1ms) SET client_min_messages TO 'panic' SQL (0.1ms) SET client_min_messages TO 'notice' Pa Load (8.0ms) SELECT "fields"., t0.pa_id as the_parent_record_id FROM "fields" INNER JOIN "fields_pas" t0 ON "fields".id = t0.field_id

ACTIVERECORD SQL - Pa.all :include => :fields Pa Load (0.8ms) SELECT FROM "pas" Field Load (6.7ms) SELECT "fields"., t0.pa_id as the_parent_record_id FROM "fields" INNER JOIN "fields_pas" t0 ON "fields".id = t0.field_id WHERE (t0.pa_id IN (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50))


Previous:rrr