[#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:32794] Re: ruby with near native speed
From:
Ondřej Bílka <neleai@...>
Date:
2010-10-15 06:52:44 UTC
List:
ruby-core #32794
On Fri, Oct 15, 2010 at 04:34:46AM +0900, Haase, Konstantin wrote: > Wouldn't that mean Ruby had to be thread-safe first? No only thread-safe gc and atomic replacement of method are needed > Konstantin > > On Oct 14, 2010, at 21:25 , Ondナ册j Bテュlka wrote: > > > 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. > > > -- manager in the cable duct