rblineprof

line-profiler for ruby

  • Owner: tmm1/rblineprof
  • Platform:
  • License:: MIT License
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

rblineprof

Installation

gem install rblineprof

Or in your Gemfile:

gem 'rblineprof'

Usage

require 'rblineprof'

profile = lineprof(/./) do
  sleep 0.001

  100.times do
    sleep 0.001

    1*2*3
    4*5*6
    7*8*9*10*11*12*13*14*15
    2**32
    2**128
  end
end

file = profile.keys.first

File.readlines(file).each_with_index do, line, num, wall, cpu, calls, allocations = profile[file][num + 1]

  if wall > 0, cpu > 0, calls > 0
    printf(
      "% 5.1fms + % 6.1fms (% 4d), %s",
      cpu / 1000.0,
      (wall - cpu) / 1000.0,
      calls,
      line
    )
  else
    printf ", %s", line
  end
end

Will give you:

  0.1ms +    1.4ms (   1), sleep 0.001, 2.7ms +  132.2ms (   1), 100.times do
  1.3ms +  131.7ms ( 100), sleep 0.001, 1*2*3, 4*5*6, 7*8*9*10*11*12*13*14*15
  0.1ms +    0.1ms ( 100), 2**32
  0.6ms +    0.1ms ( 100), 2**128, end, end, file = profile.keys.first, File.readlines(file).each_with_index do, line, num, wall, cpu, calls, allocations = profile[file][num + 1], if wall > 0, cpu > 0, calls > 0, printf(, "% 5.1fms + % 6.1fms (% 4d), %s",, cpu / 1000.0,, (wall - cpu) / 1000.0,, calls,, line, ), else, printf ", %s", line, end, end

Rails integration

Other profilers

License

rblineprof is released under the MIT License.

Main metrics

Overview
Name With Ownertmm1/rblineprof
Primary LanguageC
Program languageRuby (Language Count: 2)
Platform
License:MIT License
所有者活动
Created At2012-09-10 09:41:11
Pushed At2024-04-12 08:32:18
Last Commit At2016-10-30 10:46:57
Release Count2
Last Release Namev0.3.6 (Posted on )
First Release Namev0.3.3 (Posted on )
用户参与
Stargazers Count771
Watchers Count22
Fork Count35
Commits Count121
Has Issues Enabled
Issues Count11
Issue Open Count4
Pull Requests Count15
Pull Requests Open Count2
Pull Requests Close Count6
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private