# Tests on small tables (1 MB), 4MB work_mem # Performs a quicksort ----- ordered_ints,: 4 ms, 4 ms, 5 ms random_ints: 12 ms, 10 ms, 9 ms ordered_text: 6 ms, 3 ms, 5 ms random_text: 20 ms, 21 ms, 21 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: 16454 ms, 14557 ms, 13875 ms random_ints: 22238 ms, 21351 ms, 21352 ms ordered_text: 48380 ms, 49734 ms, 50955 ms random_text: 70173 ms, 66135 ms, 64850 ms # Tests on medium-sized tables (1 GB), 16MB work_mem # Same as previous test, but with larger work_mem ----- ordered_ints: 10621 ms, 10859 ms, 10698 ms random_ints: 19951 ms, 18693 ms, 19288 ms ordered_text: 54473 ms, 53255 ms, 52947 ms random_text: 62063 ms, 60359 ms, 60537 ms # Tests on medium-sized tables (1 GB), 256MB work_mem # This works with a single merge pass ----- ordered_ints: 7078 ms, 6910 ms, 6849 ms random_ints: 15639 ms, 15575 ms, 15625 ms ordered_text: 11121 ms, 12318 ms, 10824 ms random_text: 53462 ms, 53420 ms, 52949 ms # Tests on medium-sized tables (1 GB), 512MB work_mem # This works with a single merge pass ----- ordered_ints: 6912 ms, 6677 ms, 6763 ms random_ints: 15788 ms, 15768 ms, 15593 ms ordered_text: 10598 ms, 10234 ms, 8958 ms random_text: 55422 ms, 54328 ms, 54450 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: 7322 ms, 7260 ms, 7018 ms random_ints: 17945 ms, 17107 ms, 17088 ms ordered_text: 9715 ms, 8389 ms, 7710 ms random_text: 61123 ms, 60315 ms, 58615 ms