Valakinek van az alábbira megoldása? Létrehoztam egy topic-ot Ruby fórumon:
- 6368 megtekintés
Hozzászólások
Nezz ra a Rubiniusra, rengeteg stathoz hozza tudsz rbx konzolbol ferni. Linuxra elerheto, rvm install rbx-head.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Megnéztem. Nem igazán tetszik.
Ez tetszene, csak nem metódus hívások alapján tud printelni, hanem objektum típusok alapján csak.
- A hozzászóláshoz be kell jelentkezni
A Rubiniusossal egesz pontosan mi volt a baj? brixen es dbussink eleg nyitottak ilyen kerdesekben, ha feldobod issue-ban, akkor lehet megcsinaljak neked.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Láttad hogy milyen kimenetet ad? Te abból tudsz valamit kezdeni?
A ruby fórumon leírtam hogy mit is akarok igazából. Memory peak-et szeretnék látni egy adott programrészre vetítve.
- A hozzászóláshoz be kell jelentkezni
Este - ha el nem felejtem - utanakerdek a rubiniusos sracoknal, hatha van valami otlet. A blogjuk relative regi, lehet hogy azota vannak ujabb API-k is, csak ok inkabb kodolnak mind blogolnak.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Azt is jó lenne megtudni, hogy 2.0 terén lett-e ez irányba előrelépés. Neten egyelőre nem találtam erről infót.
Pedig ez fontos lenne. Ha lehetne látni egy olyan statisztikát memória peak értékekre, mint amilyet a "-r profile" ad külön metódusokhoz, akkor azonnal látható lenne, hogy mely részek a leg memória igényesebbek, és tudnánk mely részeket kellene átírnunk vagy újra gondolni.
Jelen esetben nem tudok erre megfelelő módszert vagy eszközt.
- A hozzászóláshoz be kell jelentkezni
Oks, mindenkepp rakerdezek. 2.0 alatt az MRI 2.0 -ra vagy a Rubinius 2.0-ra gondolsz?
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
MRI.
- A hozzászóláshoz be kell jelentkezni
Nem egészen az, amit keresel, de érdemes elolvasni a témában:
https://github.com/blog/1489-hey-judy-don-t-make-it-bad
A bejegyzés közepén van egy rövid kódrészlet, ami bizonyos esetekben segíthet a memóriafogyasztás naplózásában.
- A hozzászóláshoz be kell jelentkezni
Érdekes tanulmány. A kód is hasznosnak tűnik, tesztelni fogom. Kösz.
- A hozzászóláshoz be kell jelentkezni
Nem nagyon érkezett megoldás senkitől, ezért még egyszer neki gyürkőztem. Az alábbi módon tudtam megoldani:
Maradtam a ruby-prof memory profiling megoldásánál patch-elt MRI-vel. Lásd:
https://github.com/ruby-prof/ruby-prof/issues/86
https://github.com/skaes/rvm-patchsets
1) ugye patch-elt MRI kell hozzá:
rvm reinstall 1.9.3 --patch railsexpress
gem-ruby-1.9.3-p448 install ruby-prof
2) példakód itt:
require "ruby-prof"
RubyProf.measure_mode = RubyProf::MEMORY
RubyProf.start
# code to profile
10000.times { "hello".chars.to_a.shuffle.join }
r = RubyProf.stop
RubyProf::FlatPrinter.new(r).print
3) kimenet így néz ki:
$ ruby-1.9.3-p448 test.rb
Thread ID: 14925700
Fiber ID: 17378400
Total: 3842.242188
Sort by: self_time
%self total self wait child calls name
56.94 2187.766 2187.766 0.000 0.000 20000 String#chars
32.79 1259.953 1259.953 0.000 0.000 10000 Array#join
10.17 390.812 390.812 0.000 0.000 10000 Array#shuffle
0.07 3842.242 2.852 0.000 3839.391 1 Global#[No method]
0.01 1563.102 0.336 0.000 1562.766 10000 Enumerable#to_a
0.01 3839.391 0.336 0.000 3839.055 1 Integer#times
0.00 1562.766 0.188 0.000 1562.578 10000 Enumerator#each
* indicates recursively called methods
- A hozzászóláshoz be kell jelentkezni