BigW Consortium Gitlab

  1. 15 Jan, 2016 1 commit
  2. 13 Jan, 2016 1 commit
  3. 05 Jan, 2016 1 commit
  4. 14 Dec, 2015 1 commit
  5. 12 Dec, 2015 1 commit
  6. 11 Dec, 2015 1 commit
  7. 09 Dec, 2015 4 commits
  8. 08 Dec, 2015 2 commits
  9. 25 Nov, 2015 1 commit
  10. 19 Nov, 2015 1 commit
  11. 17 Nov, 2015 1 commit
  12. 16 Nov, 2015 1 commit
  13. 12 Nov, 2015 1 commit
  14. 11 Nov, 2015 2 commits
  15. 10 Nov, 2015 2 commits
  16. 03 Nov, 2015 1 commit
  17. 29 Oct, 2015 1 commit
  18. 21 Oct, 2015 1 commit
  19. 19 Oct, 2015 1 commit
  20. 15 Oct, 2015 1 commit
    • Improve performance of User.by_login · 72f428c7
      Yorick Peterse authored
      Performance is improved in two steps:
      
      1. On PostgreSQL an expression index is used for checking lower(email)
         and lower(username).
      2. The check to determine if we're searching for a username or Email is
         moved to Ruby. Thanks to @haynes for suggesting and writing the
         initial implementation of this.
      
      Moving the check to Ruby makes this method an additional 1.5 times
      faster compared to doing the check in the SQL query.
      
      With performance being improved I've now also tweaked the amount of
      iterations required by the User.by_login benchmark. This method now runs
      between 900 and 1000 iterations per second.
  21. 14 Oct, 2015 2 commits
  22. 13 Oct, 2015 1 commit
  23. 09 Oct, 2015 1 commit
  24. 08 Oct, 2015 1 commit
  25. 07 Oct, 2015 1 commit
  26. 05 Oct, 2015 1 commit
  27. 02 Oct, 2015 1 commit
    • Basic setup for an RSpec based benchmark suite · 19893a1c
      Yorick Peterse authored
      This benchmark suite uses benchmark-ips
      (https://github.com/evanphx/benchmark-ips) behind the scenes. Specs can
      be turned into benchmark specs by setting "benchmark" to "true" in the
      top-level describe block like so:
      
          describe SomeClass, benchmark: true do
      
          end
      
      Writing benchmarks can be done using custom RSpec matchers, for example:
      
          describe MaruTheCat, benchmark: true do
            describe '#jump_in_box' do
              it 'should run 1000 iterations per second' do
                maru = described_class.new
      
                expect { maru.jump_in_box }.to iterate_per_second(1000)
              end
            end
          end
      
      By default the "iterate_per_second" expectation requires a standard
      deviation under 30% (this is just an arbitrary default for now). You can
      change this by chaining "with_maximum_stddev" on the expectation:
      
          expect { maru.jump_in_box }.to iterate_per_second(1000)
            .with_maximum_stddev(10)
      
      This will change the expectation to require a maximum deviation of 10%.
      
      Alternatively you can use the it block style to write specs:
      
          describe MaruTheCat, benchmark: true do
            describe '#jump_in_box' do
              subject { -> { described_class.new } }
      
              it { is_expected.to iterate_per_second(1000) }
            end
          end
      
      Because "iterate_per_second" operates on a block, opposed to a static
      value, the "subject" method must return a Proc. This looks a bit goofy
      but I have been unable to find a nice way around this.
  28. 25 Sep, 2015 1 commit
  29. 22 Sep, 2015 1 commit
  30. 21 Sep, 2015 1 commit
  31. 20 Sep, 2015 2 commits
  32. 16 Sep, 2015 1 commit