# File lib/railsbench/railsbenchmark.rb, line 178
  def run_urls_without_benchmark(gc_stats)
    # support for running Ruby Performance Validator
    # or Ruby Memory Validator
    svl = nil
    begin
      if ARGV.include?('-svlPV')
        require 'svlRubyPV'
        svl = SvlRubyPV.new
      elsif ARGV.include?('-svlMV')
        require 'svlRubyMV'
        svl = SvlRubyMV.new
      end
    rescue LoadError
      # SVL dll not available, do nothing
    end

    # support ruby-prof
    ruby_prof = nil
    ARGV.each{|arg| ruby_prof=$1 if arg =~ /-ruby_prof=([^ ]*)/ }
    begin
      if ruby_prof
        # redirect stderr
        if benchmark_file = ENV['RAILS_BENCHMARK_FILE']
          $stderr = File.open(benchmark_file, "w")
        end
        require 'ruby-prof'
        RubyProf.clock_mode = RubyProf::WALL_TIME
        RubyProf.start
      end
    rescue LoadError
      # ruby-prof not available, do nothing
      $stderr = STDERR
      $stderr.puts "ruby-prof not available: giving up"
      exit(-1)
    end

    # start profiler and trigger data collection if required
    if svl
      svl.startProfiler
      svl.startDataCollection
    end

    setup_initial_env
    GC.enable_stats if gc_stats
    if gc_frequency==0
      run_urls_without_benchmark_and_without_gc_control(@urls, iterations)
    else
      run_urls_without_benchmark_but_with_gc_control(@urls, iterations, gc_frequency)
    end
    if gc_stats
      GC.enable if gc_frequency
      GC.start
      GC.dump
      GC.disable_stats
      GC.log "number of requests processed: #{@urls.size * iterations}"
    end

    # stop data collection if necessary
    svl.stopDataCollection if svl

    if defined? RubyProf
      result = RubyProf.stop
      # Print a flat profile to text
      printer = RubyProf::GraphHtmlPrinter.new(result)
      printer.print($stderr, ruby_prof.to_f)
    end

    delete_test_session
    delete_new_test_sessions
  end