Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
branch: master
Commits on Sep 1, 2011
  1. update contributors list

    authored
  2. update changelog

    authored
  3. Merge pull request #5 from metaskills/core_ext

    authored
    Proper namespace CoreExtensions and only extend when needed.
  4. fix for tests not running in 1.9.

    authored
    Note that this does not mean the lib is 1.9 safe and still behaves
    strangely when trying encode non ascii charaters.
Commits on Aug 16, 2011
  1. stupid typo in gemspec

    authored
  2. update version to 0.4.1

    authored
    Switch to README.md as it's easier to edit
    add links to contributors
  3. Merge pull request #7 from gioele/master

    authored
    Compute common patterns only once (5% to 10% speedup)
  4. @gioele
  5. @gioele
  6. @gioele
  7. @gioele
  8. @gioele
  9. @gioele
  10. @gioele
  11. @gioele
Commits on Aug 14, 2011
  1. fix typo in gemspec

    authored
  2. check in gemspec

    authored
  3. update README

    authored
Commits on Aug 13, 2011
  1. Merge pull request #6 from gioele/master

    authored
    Code optimization: 30% speedup
  2. @gioele
  3. @gioele
  4. @gioele
  5. @gioele
  6. @gioele
  7. @gioele
  8. @gioele
  9. @gioele
  10. @gioele
  11. @gioele

    Use pre-made Procs instead of long case/when construct

    gioele authored
    Code such as
    
    	case mask_pattern
    	when QRMASKPATTERN[:pattern000]
    		(i + j) % 2 == 0
    	when QRMASKPATTERN[:pattern001]
    		i % 2 == 0
    	when QRMASKPATTERN[:pattern010]
    		j % 3 == 0
    
    is very slow because it requires an `Hash#[]` lookup and a `Kernel#===`
    call for every branch of the `case` construct, 3.5 * 2 function calls on
    average.
    
    We exploit the fact that `mask_pattern` is a Fixnum and pre-populate an
    array of possible computations. This takes exactly one `Array#[]`
    lookup and `Proc#call` execution per mask pattern.
  12. @gioele
  13. @gioele

    Do not sum only to subtract

    gioele authored
  14. @gioele
  15. @gioele
Something went wrong with that request. Please try again.