Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Aug 30, 2010
  1. Switch to using rake-compiler for all compiling

    This removes the bench task and replaces it with rake-compiler's
    compile task.  It moves the cross-compiling task into
    Rakefile.cross.  Thanks to Luis Lavena for his help and advice
    in this process.
  2. Separately compile each C file, instead of including C files in other…

    … C files
    Switch to the standard C way of doing things, with a shared header
    file.  This bloats the code a bit as we have to add prototypes that
    were unnecessary before, as well as add extern for some static
    variables.  However, it's probably better to do things in a standard
    way.  Thanks to Luis Lavena for suggesting this.
Commits on Aug 22, 2010
  1. Add a coverage task to use rcov with mspec

    This will only help in the coverage of the format.rb file.
Commits on Aug 19, 2010
Commits on Aug 18, 2010
  1. Give extension a shot at working for compiled extensions not ending i…

    …n .so
    Instead of hard coding, rename the extension from
    date.c to date_ext.c, and just require date_ext. Most of
    the other changes are fallout from that.
    The windows_gem task is now more thorough.  I'm not sure
    why in some cases you need to manually copy the files,
    but handle that.
Commits on Aug 13, 2010
  1. Better support for Windows, some extra stuff

    Give an error message if trying to run mem_bench or garbage_bench
    on Windows.
    Make cpu_bench.rb work on Windows.
    Add a --bench option for home_run and include the bench directory
    in the gem to easily run the benchmarks from a gem install.
    Use File::PATH_SEPARATOR instead of rolling our own.
Commits on Aug 11, 2010
Commits on Aug 10, 2010
Commits on Aug 9, 2010
  1. Add new ragel parser, used in _parse first before falling back to pur…

    …e ruby implementation
    The new ragel parser is not designed to handle all possible cases.
    It's currently only set up to handle the standard ISO8601 format
    (YYYY-MM-DDTHH:MM:SS+HH:MM).  This is about 40 times faster than
    the pure ruby implementation.
    The new design takes extra procautions so that partial values are
    never set unless the entire string matches.
    More formats will be added later based on need.
Commits on Aug 8, 2010
  1. Replace the ragel date parser with a customized version of the curren…

    …t pure ruby parser
    I don't think I could get decent compatibility with a ragel based
    parser, which is a shame, because it is so much faster.
Commits on Aug 1, 2010
  1. Rename files from home_run to just date

    Remove lib directory, just have an ext directory.
Commits on Jul 30, 2010
Commits on Jul 21, 2010
  1. Add start of Ragel based parser

    Currently, the Ragel parser is over 50x faster than the stdlib one.
    However, it currently only handles the _parse_iso and _parse_us
    formats from the stdlib.
    Add back the parse and _parse methods class methods.
Commits on Jul 19, 2010
  1. Add initial, incomplete implemention of Date#_parse

    This version just handles iso8601 dates, and just creates the
    framework that future improvements will build upon.  Unlike the
    stdlib implementation, instead of trying a bunch of regular
    expression parses in a serial manner, home_run uses a real
    parser built with lex and yacc.  This should be signicantly
    faster as well as more flexible.
Commits on Jul 9, 2010
  1. Initial import

Something went wrong with that request. Please try again.