[#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:32790] ruby with near native speed
From:
Ondřej Bílka <neleai@...>
Date:
2010-10-14 19:25:38 UTC
List:
ruby-core #32790
Hello Ideas from static typing thread correspond to ideas what to write as my thesis. I have some ideas how today vm`s could be improved on x64. Now most of time x64 has idle cores so we could use them to: A shift from JIT to what I call continuous optimalization. JIT has slow startup time and generated code is not as fast as it could be. While program runs we can spend on spare core unlimited time compiling better versions. We will save optimized versions on disk. This allows time comsuming optimalizations and also previously impossible optimalizations. Following optimalizations have this motto We can assume that sky is blue until somebody tell us its green. Ruby is dynamic so anything can happen. But in 99% of cases it won't occur. In 1% cases we know how to fix it Example is changing method body. Usually it doesn't happen. But if its changed we fix it by reverting all optimalizations that used given method. Constant simulation: As deterministic program with constant input must have constant output we can simulate constant part of code and replay side effects. We get it further by assuming that certain rare conditions didn't happen (no method called in simulation was changed...). If it happened we revert to original code We can even assume that files modified long ago are constant. Again we check if they were modified and if they were we revert to original code. Bit of care is required to not save constant gigabyte arrays to disk. Almost static typing As constant simulation typicaly expands all metaprogramming code to normal compiler can infer types of almost all variables through their lifetime. With infered types we could optimalize functions further It could be possible give flag to export source with annotated inferred types. ruby object like C struct. If we can infer what variables can given class have we can store them in array of values. Real profile information Another advantage is that we get profiling informations from living system Auto-tuning For example assume we have algorithm which have optimalization flags O,P,Q and problem n auto-tuning allows by running algorithms in parallel determine how set flags given problem size Garbage collector Another nice thing could be garbage collector running on separate core. Also use escape analysis where can be what freed without involving GC -- Post-it Note Sludge leaked into the monitor.