[#32676] VC++ embedded rubygems gives NoMethodError undefined method `synchronize' for Mutex — Phlip <phlip2005@...>
[I will try Bill Kelly's PDB path advice presently; this issue is more
5 messages
2010/10/03
[#32687] Re: VC++ embedded rubygems gives NoMethodError undefined method `synchronize' for Mutex
— Roger Pack <rogerdpack2@...>
2010/10/04
> This one's about...
[#32703] Re: VC++ embedded rubygems gives NoMethodError undefined method `synchronize' for Mutex
— Phlip <phlip2005@...>
2010/10/05
> > #<NoMethodError: undefined method `synchronize' for #<Mutex:0x750faa8>>
[#32698] [Ruby 1.9-Feature#3908][Open] private constant — Yusuke Endoh <redmine@...>
Feature #3908: private constant
10 messages
2010/10/05
[#32795] Call for Cooperation: CFUNC usage survey — SASADA Koichi <ko1@...>
Hi,
5 messages
2010/10/15
[#32814] WeakHash — Santiago Pastorino <santiago@...>
Hi guys,
6 messages
2010/10/15
[#32844] [Ruby 1.9-Feature#3963][Open] Map class in standard library — Thomas Sawyer <redmine@...>
Feature #3963: Map class in standard library
3 messages
2010/10/18
[#32864] [Ruby 1.9-Bug#3972][Open] r28668 breaks test/unit when combined with the testing rake task — Aaron Patterson <redmine@...>
Bug #3972: r28668 breaks test/unit when combined with the testing rake task
6 messages
2010/10/20
[#32932] Behavior of initialize in 1.9 — Aaron Patterson <aaron@...>
The behavior of initialize in 1.9 seems to have changed. Here is an irb
5 messages
2010/10/28
[#32960] [Ruby 1.9-Bug#4005][Open] YAML fails to roundtrip Time objects — Peter Weldon <redmine@...>
Bug #4005: YAML fails to roundtrip Time objects
6 messages
2010/10/29
[#32976] Improve MinGW builds for Ruby 1.8.7, 1.9.2 and 1.9.3 — Luis Lavena <luislavena@...>
Hello,
10 messages
2010/10/30
[#32978] Re: Improve MinGW builds for Ruby 1.8.7, 1.9.2 and 1.9.3
— Aaron Patterson <aaron@...>
2010/10/30
On Sun, Oct 31, 2010 at 03:42:02AM +0900, Luis Lavena wrote:
[ruby-core:32861] Re: Call for Cooperation: CFUNC usage survey
From:
SASADA Koichi <ko1@...>
Date:
2010-10-20 16:05:12 UTC
List:
ruby-core #32861
Hi,
Thank you for your help. I can find out (confirm) several
characteristic of Ruby application.
(Unfortunately, no Rails related result are collected).
Fig.1 Results
For the each application, the result sorted by
shallow count (descending order)
deep count (ascending order)
http://www.atdot.net/fp/view/dvhlal
Fig.1 shows the result of this survey.
Insights:
(1) We can observe same tendency for all applications.
(2) Most of CFUNC invocation is "shallow" invocation.
(3) Small amount of methods account for the invocation count.
(4) Shallow/frequent method names (not available in pictures).
Next:
We can develop:
(1) Mechanism to invoke shallow/frequent methods
In fact, this is the reason why I make this survey. Currently, we have
specialized instructions in Ruby 1.9 virtual machine. However, to add
new specialized instructions, we need to modify VM code. We want to
extend this feature more general.
(2) Make some deep methods to shallow method
Reading the source code of some deep methods, unnecessary method
invocation can be observed. We can get rid of such inefficient methods
calls.
(3) Revise frequent called methods.
Thank you for your help, again.
Regards,
Koichi
-----
In Japanese
にほんご
ありがとうございました。いくつか最適化に関するヒントを得ることができました。
--
// SASADA Koichi at atdot dot net
(2010/10/15 7:52), SASADA Koichi wrote:
> Hi,
>
> I want to survey the Ruby interpreter usage.
>
> If you have
>
> - a real application on Ruby 1.9 trunk
> if that application has a performance issue, it is welcome.
> - the build environment
> - time
>
> please cooperate me to survey the CFUNC usage.
>
> Procedure:
> (1) Check out ruby trunk
> $ svn co http://svn.ruby-lang.org/repos/trunk
> (2) Apply a patch which is attached to this mail
> (3) Build ruby interpter and install it
> (4) Run application on the interpreter
> Ruby prints the results into STDERR at the end of ruby process.
>
> $ ruby [application] 2> result
>
> (5) Send me the result with
> - your environment (ruby -v)
> - brief description of your application.
>
> Download-able URL instead of attaching the result is preferable
> because the result will be a huge text file.
>
> (6) Do not forget to remove (or invalidate) installed Ruby
>
>
> Result:
> The results show the usage of CFUNC. CFUNC is methods implemented in C.
>
> <format>
> method_name [shallow count] [deep count]
> ...
> </format>
>
> [shallow count] means the number of invoking the method named
> [method_name] without invoking the other methods (and blocks, and so
> on). [deep count] is the number of invoking which invoke other methods.
>
>
> result sample (sorted by Excel):
> http://www.atdot.net/sp/view/fmjbal
> application: rdoc (build process)
> environment: ruby 1.9.3dev (2010-10-14) [i686-linux]
>
>
> Purpose:
>
> To tune the VM. I can find out which CFUNC method / what kind of
> methods should be faster.
>
>
> Thank you for.
>
> Regards,
> Koichi
>
> ----
> Japanese (にほんご):
>
> CFUNC がどんな感じで使われてるか知りたいので、パッチあてて実行して、結
> 果を送って下さると助かります。結果は、プロセス終了時に標準エラー出力に出
> ます(正確には、スレッドが回収されるときにスレッド後のに出力)。
>
> # 1.9 のリアルアプリケーションってどれくらいあるんだろ。
>
--
// SASADA Koichi at atdot dot net