# Tests on small tables (1 MB), 4MB work_mem # Performs a quicksort ----- ordered_ints,: 5 ms, 5 ms, 4 ms random_ints: 9 ms, 9 ms, 9 ms ordered_text: 6 ms, 3 ms, 3 ms random_text: 19 ms, 18 ms, 18 ms # Tests on medium-sized tables (1 GB), 4MB work_mem # Performs an external sort, but the table still fits in OS cache # Needs a multi-stage merge ----- ordered_ints: 15242 ms, 13676 ms, 13660 ms random_ints: 27528 ms, 26863 ms, 26495 ms ordered_text: 47578 ms, 47391 ms, 47167 ms random_text: 69419 ms, 67758 ms, 67965 ms # Tests on medium-sized tables (1 GB), 16MB work_mem # Same as previous test, but with larger work_mem ----- ordered_ints: 11590 ms, 11390 ms, 11629 ms random_ints: 24530 ms, 24809 ms, 23839 ms ordered_text: 51889 ms, 52481 ms, 51683 ms random_text: 61175 ms, 61726 ms, 61263 ms # Tests on medium-sized tables (1 GB), 256MB work_mem # This works with a single merge pass ----- ordered_ints: 6961 ms, 7040 ms, 7044 ms random_ints: 19205 ms, 18797 ms, 18955 ms ordered_text: 11045 ms, 11377 ms, 11203 ms random_text: 57117 ms, 54489 ms, 54806 ms # Tests on medium-sized tables (1 GB), 512MB work_mem # This works with a single merge pass ----- ordered_ints: 6972 ms, 6736 ms, 6747 ms random_ints: 16739 ms, 16235 ms, 16619 ms ordered_text: 9090 ms, 9008 ms, 8933 ms random_text: 54888 ms, 54981 ms, 54540 ms # Tests on medium-sized tables (1 GB), 2GB work_mem # I thought 2GB would be enough to do a quicksort, but because of # SortTuple overhead (?), it doesn't fit. Performs an external sort with two runs ----- ordered_ints: 7538 ms, 6815 ms, 6579 ms random_ints: 16938 ms, 16347 ms, 16554 ms ordered_text: 8694 ms, 8316 ms, 8509 ms random_text: 59683 ms, 59898 ms, 58122 ms