Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Branch: master
Commits on Feb 19, 2015
  1. @mislav

    Improve script/release

    mislav authored
    Now handles creating the release commit
  2. @mislav
  3. @mislav

    Add script/release

    mislav authored
  4. @mislav

    version_sorter 2.0.0

    mislav authored
  5. @mislav
  6. @mislav

    Remove now unnecessary gitattributes file

    mislav authored
    It remained from the era where an Xcode project was checked into the repo
  7. @mislav

    Nicer README

    mislav authored
  8. @mislav

    Merge pull request #7 from github/enable-travis

    mislav authored
    Enable travis
  9. @mislav

    Record a new benchmark baseline after C changes

    mislav authored
    It seems like recent C changes might have reduced the standard deviation
    in `sort`, but not significantly, and it varied during runs:
    
        VersionSorter .sort
          Baseline: |                                                  X---------------|
          Current:  |                                                  X-----          |
                    0                                                         744.500 us
    
        VersionSorter .rsort
          Baseline: |                                                          X-------|
          Current:  |                                                           X------|
                    0                                                         642.000 us
    
    Recording the new baseline just in case.
  10. @mislav
  11. @vmg @mislav

    Ensure we always have a string...

    vmg authored mislav committed
  12. @vmg @mislav

    Update extconf.rb

    vmg authored mislav committed
  13. @vmg @mislav

    Add sort! and rsort!

    vmg authored mislav committed
  14. @vmg @mislav

    Use safe Ruby setters

    vmg authored mislav committed
  15. @mislav

    Enable Travis CI

    mislav authored
  16. @mislav

    Ruby 2.2 test compatibility

    mislav authored
    I've picked the earliest test-unit version that doesn't define hoe as
    runtime dependency.
  17. @mislav

    Ruby 1.8 test compatibility

    mislav authored
    Instead of using newer Array#sample, implement shuffling of an array manually.
Commits on Feb 18, 2015
  1. @mislav

    Merge pull request #5 from mislav/pre

    mislav authored
    Project overhaul + proper sorting of prerelase strings
Commits on Feb 13, 2015
  1. @mislav

    Record the new baseline for benchmark

    mislav authored
    Recent changes by vmg have massively improved performance, as evident in
    the benchmark comparison vs. the old baseline:
    
        VersionSorter .sort
          Baseline: |                                                           X------|
          Current:  |                    X--                                           |
                    0                                                           1.811 ms
    
        VersionSorter .rsort
          Baseline: |                                                        X---------|
          Current:  |                    X---                                          |
                    0                                                           1.825 ms
    
    Now, record the current performance stats as the new baseline for the benchmark.
  2. @mislav

    Merge pull request #2 from mislav/overflow

    mislav authored
    Handle integer overflow by treating number component as string if too large
  3. @mislav
  4. @mislav

    Treat number components that overflow as strings

    mislav authored
    If a number component is too large to be represented by uint32, simply
    start treating the component as a string instead of raising RuntimeError.
Commits on Feb 12, 2015
  1. @mislav

    Add rake-compiler back to gem bundle

    mislav authored
    I tried to get rid of rake-compiler prematurely. It turned out that my
    simplistic approach to compiling the native extension only worked on Mac
    and not on Linux. These cross-platform differences are exactly what
    rake-compiler is set to solve.
  2. @mislav

    Whitespace fixes

    mislav authored
    vmg switched to tabs for indentation in his recent changes.
Commits on Feb 10, 2015
  1. @mislav

    Merge pull request #1 from vmg/vmg/perf

    mislav authored
    Rewrite with a more efficient algorithm
Commits on Feb 4, 2015
  1. @mislav
  2. @mislav
  3. @mislav

    Have prerelease versions sorted before final releases

    mislav authored
    E.g. "1.3.0pre4" should be sorted before "1.3.0". This is essentially done
    with these steps:
    
    - Split versions strings into components that can only contain either
      digits or alphabetical characters. Now the components would be
      "1 3 0 pre 4" instead of "1 3 0pre4".
    
    - Treat a dash as a literal string "pre". So, "1.3.0-rc4" is split into
      components "1 3 0 pre rc 4".
    
    - When normalizing versions strings for sorting, pad everything with
      zeroes instead of spaces. Alphabetical components are prefixed with a
      dash so they get sorted before numbers. Finally, make all zero-padded
      strings the same length.
    
      So, versions "1.1.0a, 1.1, 1.2.0, 1.10.0" were previously normalized
      as (vertical bars added for readability):
    
        | 1| 1|0a|
        | 1| 1|  |
        | 1| 2| 0|
        | 1|10| 0|
    
      Now the same versions get normalized as:
    
        |001|001|000|-a0|
        |001|001|000|000|
        |001|002|000|000|
        |001|010|000|000|
  4. @mislav
  5. @mislav

    Avoid including VersionSorter as mixin

    mislav authored
    Tests should use the module as it's meant to be used in the wild.
  6. @mislav

    Typos in tests

    mislav authored
  7. @mislav

    Colorize benchmark output

    mislav authored
  8. @mislav

    Add readygo benchmark

    mislav authored
  9. @mislav

    Remove rake-compiler in favor of manual step

    mislav authored
    The manual rake definitions allow us to skip the compile process if the
    .bundle file is up to date.
  10. @vmg
Something went wrong with that request. Please try again.