File: bench_load.rb

package info (click to toggle)
ruby-facets 2.9.2-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 9,824 kB
  • sloc: ruby: 25,483; xml: 90; makefile: 20
file content (56 lines) | stat: -rw-r--r-- 1,016 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
require 'benchmark'

# Load check all libs.

def test_load

  while !File.directory?('lib/core/facets') do
    Dir.chdir('..')
  end

  abort "Can't find project root." unless File.directory?('lib/core/facets')

  @scripts = {}

  Dir.chdir('lib/core') do
    @scripts[:core] = Dir.glob('facets/*.rb')
    @scripts[:core].uniq!
  end

  Dir.chdir('lib/lore') do
    @scripts[:lore] = Dir.glob('facets/*.rb')
    @scripts[:lore].uniq!
  end

  Dir.chdir('lib/more') do
    @scripts[:more] = Dir.glob('facets/*.rb')
    @scripts[:more].uniq!
  end

  $:.unshift('lib/core')
  $:.unshift('lib/lore')
  $:.unshift('lib/more')

  $VERBOSE = nil

  Benchmark.bm do |x|
    x.report("core"){ require_scripts(:core) }
    x.report("lore"){ require_scripts(:lore) }
    x.report("more"){ require_scripts(:more) }
  end
end

def require_scripts(key)
  @scripts[key].each do |file|
    begin
      require file
    rescue Exception => e
      puts file
      puts e.message
    end
  end
end

if $0 == __FILE__
  test_load
end