GitHub user jihoonson opened a pull request:

    https://github.com/apache/tajo/pull/992

    TAJO-2109: Implement Radix sort

    Here are some benchmark results using JMH.
    
    ```
    # of tuples = 10,000, sort by 2 columns
    
    Benchmark                     Mode  Cnt   Score   Error  Units
    BenchmarkSort.msdRadixSort   thrpt       22.890          ops/s
    BenchmarkSort.timSort        thrpt       26.824          ops/s
    BenchmarkSort.msdRadixSort    avgt        0.044           s/op
    BenchmarkSort.timSort         avgt        0.038           s/op
    BenchmarkSort.msdRadixSort  sample   24   0.043 ± 0.004   s/op
    BenchmarkSort.timSort       sample   26   0.039 ± 0.003   s/op
    BenchmarkSort.msdRadixSort      ss        0.078           s/op
    BenchmarkSort.timSort           ss        0.063           s/op
    
    # of tuples = 100,000, sort by 2 columns
    
    Benchmark                     Mode  Cnt  Score   Error  Units
    BenchmarkSort.msdRadixSort   thrpt       6.757          ops/s
    BenchmarkSort.timSort        thrpt       7.211          ops/s
    BenchmarkSort.msdRadixSort    avgt       0.145           s/op
    BenchmarkSort.timSort         avgt       0.136           s/op
    BenchmarkSort.msdRadixSort  sample    7  0.147 ± 0.011   s/op
    BenchmarkSort.timSort       sample    8  0.136 ± 0.016   s/op
    BenchmarkSort.msdRadixSort      ss       0.238           s/op
    BenchmarkSort.timSort           ss       0.158           s/op
    
    # of tuples = 1,000,000, sort by 2 columns
    
    Benchmark                     Mode  Cnt  Score   Error  Units
    BenchmarkSort.msdRadixSort   thrpt       1.139          ops/s
    BenchmarkSort.timSort        thrpt       0.604          ops/s
    BenchmarkSort.msdRadixSort    avgt       0.895           s/op
    BenchmarkSort.timSort         avgt       1.669           s/op
    BenchmarkSort.msdRadixSort  sample    2  0.845           s/op
    BenchmarkSort.timSort       sample       1.560           s/op
    BenchmarkSort.msdRadixSort      ss       0.899           s/op
    BenchmarkSort.timSort           ss       1.556           s/op
    ```

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/jihoonson/tajo-2 sort

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/tajo/pull/992.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #992
    
----
commit 0968c4a48763ea837b54d619f8956c647a4a977f
Author: Jihoon Son <[email protected]>
Date:   2016-03-23T00:08:58Z

    testing

commit 9152ace2261b2d05a539cb8eef697de19f80230f
Author: Jihoon Son <[email protected]>
Date:   2016-03-23T02:03:33Z

    Merge branch 'sort' of https://github.com/jihoonson/tajo-2 into sort

commit b5f3114082db156f8c515675aa82880893c34872
Author: Jihoon Son <[email protected]>
Date:   2016-03-23T06:55:20Z

    Testing

commit 81216cb591983f3c9e55bc7af6e7f43fea16d019
Author: Jihoon Son <[email protected]>
Date:   2016-03-23T08:01:31Z

    testing

commit 0154cdd3946a621d4d47b388d16d1b836a4d2917
Author: Jihoon Son <[email protected]>
Date:   2016-03-24T04:39:07Z

    testing

commit 1fe5d710b4cf3f967d6677524b4754df9b9216f4
Author: Jihoon Son <[email protected]>
Date:   2016-03-25T06:36:06Z

    Testing

commit 2f92363461943f47136f2b2a327c83be7c0134a1
Author: Jihoon Son <[email protected]>
Date:   2016-03-26T00:35:11Z

    Add in-place MSD radix sort

commit 566e621a34aad1a5a352ec028ac7e7578854d662
Author: Jihoon Son <[email protected]>
Date:   2016-03-26T05:53:28Z

    Testing

commit a16c856f285150d352053e853b4a048ab315884c
Author: Jihoon Son <[email protected]>
Date:   2016-03-26T07:59:29Z

    Add contended

commit 31699e55475bfe2e240c49bd813b72f1ffe9230e
Author: Jihoon Son <[email protected]>
Date:   2016-03-27T06:31:12Z

    Key cache

commit 74b6882d0be8e6bb2e446bdf93de3a7232daa818
Author: Jihoon Son <[email protected]>
Date:   2016-03-27T14:44:25Z

    Testing

commit 9850623eb8d50f5904ef48ed8b8f4010fc8f8f67
Author: Jihoon Son <[email protected]>
Date:   2016-03-28T12:04:57Z

    Fix bug

commit 4859b8f0bc39d8f07fd4995576db5f677bf4f97a
Author: Jihoon Son <[email protected]>
Date:   2016-03-29T05:41:54Z

    Testing

commit a90347336604c75ff6087eafa2bafdb6feedb3e8
Author: Jihoon Son <[email protected]>
Date:   2016-03-31T12:53:18Z

    Reducing cache miss in swapping

commit f38b30415abb7524aeed2bcaf208a883558987e3
Author: Jihoon Son <[email protected]>
Date:   2016-04-01T14:13:03Z

    Testing

commit 1cf6c02c0c22c70805c9c68c6bb9b363c3991e68
Author: Jihoon Son <[email protected]>
Date:   2016-04-01T14:29:38Z

    Start impl

commit 6a1675dd917c82ab9c39cb5a90ae10c2bb5ee2ac
Author: Jihoon Son <[email protected]>
Date:   2016-04-02T09:02:14Z

    Multi column sort

commit 2bf841cbc8d375304ff6da4539c1cbc7951ad1e0
Author: Jihoon Son <[email protected]>
Date:   2016-04-02T10:43:33Z

    Add LSD RADIx

commit a337f38a6abd83e9cf2b36bc227333cb0400fbef
Author: Jihoon Son <[email protected]>
Date:   2016-04-03T04:49:03Z

    Use tim sort when run is short

commit 2d7128f75d219577d10a1d386fab38e57ba2c6ad
Author: Jihoon Son <[email protected]>
Date:   2016-04-03T06:41:08Z

    Support null first and desc

commit b4aedcb09bd722c4723116d865fbf92860b82a8c
Author: Jihoon Son <[email protected]>
Date:   2016-04-03T09:02:52Z

    Sign considered radix sort

commit f2ced4ea702c706f6aa8e28662ffae4cbd4bc0c8
Author: Jihoon Son <[email protected]>
Date:   2016-04-03T10:47:34Z

    Add descriptions

commit 7eab3d6cec035652fdd7b1eb81227a10efcab97d
Author: Jihoon Son <[email protected]>
Date:   2016-04-03T10:51:53Z

    Add some more descriptions.

commit f2f6a466a275b0e64377352e655f64964106085b
Author: Jihoon Son <[email protected]>
Date:   2016-04-03T11:13:26Z

    Fix test failures and cleanup codes.

commit 35c22f9f9e30487aa7d2fd399aabdeff45ecd2b4
Author: Jihoon Son <[email protected]>
Date:   2016-04-03T11:15:56Z

    Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo into 
sort

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to