| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 429 人关注过本帖
标题:【求助】谁来帮我看下这个是什么语言
只看楼主 加入收藏
summer204
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-9-25
结帖率:0
收藏
已结贴  问题点数:20 回复次数:4 
【求助】谁来帮我看下这个是什么语言
#!/usr/local/bin/ruby

require 'yaml'
require 'thread'
#require 'mmap'

full_path = $0
if full_path !~ /^\//
  full_path = Dir.getwd + '/' + $0
end
base_path = full_path[0..(full_path =~ /\/(bin|lib)\//)]
$: << "#{base_path}lib/mpd" << "#{base_path}lib/slx" << "#{base_path}lib/all"
puts "#{full_path} #{base_path}"
require 'forked_test_gui'

class MemoryProfiler
  DEFAULTS = {:delay => 10, :string_debug => false}

  def self.start(opt={})
    opt = DEFAULTS.dup.merge(opt)

    Thread.new do
      prev = Hash.new(0)
      curr = Hash.new(0)
      curr_strings = []
      delta = Hash.new(0)

      file = File.open("/home/ltrx/memory_profiler.log.#{Time.now}",'w')

      loop do
        begin
          GC.start
          curr.clear

          curr_strings = [] if opt[:string_debug]

          ObjectSpace.each_object do |o|
            curr[o.class] += 1 #Marshal.dump(o).size rescue 1
            if opt[:string_debug] and o.class == String
              curr_strings.push o
            end
          end

          if opt[:string_debug]
            File.open("/home/ltrx/memory_profiler_strings.log.#{Time.now.to_i}",'w') do |f|
              curr_strings.sort.each do |s|
                f.puts s
              end
            end
            curr_strings.clear
          end

          delta.clear
          (curr.keys + delta.keys).uniq.each do |k,v|
            delta[k] = curr[k]-prev[k]
          end

          file.puts "Top 20"
          delta.sort_by { |k,v| -v.abs }[0..19].sort_by { |k,v| -v}.each do |k,v|
            file.printf "%+5d: %s (%d)\n", v, k.name, curr[k] unless v == 0
          end
          file.flush

          delta.clear
          prev.clear
          prev.update curr
          GC.start
        rescue Exception => err
          STDERR.puts "** memory_profiler error: #{err}"
        end
        sleep opt[:delay]
      end
    end
  end
end
搜索更多相关主题的帖子: 语言 
2010-09-25 14:24
vandychan
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
等 级:贵宾
威 望:18
帖 子:2296
专家分:6418
注 册:2010-8-20
收藏
得分:5 
delphi

到底是“出来混迟早要还”还是“杀人放火金腰带”?
2010-09-25 14:33
Crocodile_JX
Rank: 5Rank: 5
等 级:职业侠客
帖 子:161
专家分:335
注 册:2010-9-13
收藏
得分:5 
没有见过...
2010-09-25 14:42
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:5 
ruby 瞎猜


[ 本帖最后由 cnfarer 于 2010-9-25 16:57 编辑 ]

★★★★★为人民服务★★★★★
2010-09-25 16:56
longlong89
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:小飞侠
威 望:6
帖 子:1043
专家分:2754
注 册:2009-8-18
收藏
得分:5 
脚本

想象力征服世界
2010-09-25 20:44
快速回复:【求助】谁来帮我看下这个是什么语言
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020173 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved