Project

General

Profile

Download (932 Bytes) Statistics
| Branch: | Tag: | Revision:
require 'benchmark_helper'

require 'dhcp_common/dhcp_common'
require 'dhcp_common/subnet'
require 'dhcp_common/subnet_service'

host_count = 200

proxy_benchmark do
Benchmark.ips do |x|
x.config(:time => 10, :warmup => 0)

[1, 5, 50, 500, 5000].each do |subnet_count|
hosts = []
s1 = s2 = 0
subnets = (1..subnet_count).map do |_|
s2 += 1
if s2 % 256 == 0
s1 += 1
s2 = 0
end

prefix = "#{s1}.#{s2}.0"
netmask = '255.255.255.0'
host_count.times { |c| hosts << "#{prefix}.#{c}" }
Proxy::DHCP::Subnet.new(prefix + '.0', netmask, {})
end

service = Proxy::DHCP::SubnetService.initialized_instance
subnets.each { |s| service.add_subnet(s) }

x.report("find_subnet (#{subnet_count} subnets, #{host_count * subnet_count} hosts)") do
hosts.each { |s| service.find_subnet(s) }
end
end
end
end
(7-7/9)