File: octets.rb

package info (click to toggle)
ruby-packetfu 2.0.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 3,520 kB
  • sloc: ruby: 8,344; makefile: 2
file content (22 lines) | stat: -rw-r--r-- 856 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
require 'benchmark'
$:.unshift File.join(File.expand_path(File.dirname(__FILE__)), "..", "lib")
require 'packetfu'

IPV4_RAW = "\x01\x02\x03\x04"
IPV4_STR = "1.2.3.4"


iters = 50_000
Benchmark.bm do |bm|
  bm.report("Octets.new.read(...)         ") {iters.times {PacketFu::Octets.new.read(IPV4_RAW)}}
  bm.report("Octets.new.read_quad(...)    ") {iters.times {PacketFu::Octets.new.read_quad(IPV4_STR)}}

  octets = PacketFu::Octets.new
  bm.report("octets#read(...)             ") {iters.times {octets.read(IPV4_RAW)}}
  bm.report("octets#read_quad(...)        ") {iters.times {octets.read_quad(IPV4_STR)}}

  octets.read(IPV4_RAW)
  bm.report("octets#to_x()                ") {iters.times {octets.to_x}}
  bm.report("octets#to_i()                ") {iters.times {octets.to_i}}
  bm.report("octets#to_s()                ") {iters.times {octets.to_s}}
end