[#11852] continuations in Ruby 1.9? — David Flanagan <david@...>
In a comment on my recent blog post
On 8/6/07, David Flanagan <david@davidflanagan.com> wrote:
[#11860] Is this really what we want? — James Edward Gray II <james@...>
I'm investigating some recent breakage in FasterCSV and have tracking
Hi,
[#11871] ruby-openssl: == incorrect for X509-Subjects — Hadmut Danisch <hadmut@...>
Hi,
[#11876] priorities of newly-created threads — David Flanagan <david@...>
Hi,
Hi,
[#11886] Core dump with simple web scraper when run via cron — Daniel Berger <Daniel.Berger@...>
Hi all,
[#11890] Ruby and Solaris door library — "Hiro Asari" <asari.ruby@...>
Hi, there. This is my first patch against ruby. I think I followed
Hiro Asari wrote:
On 8/13/07, Daniel Berger <djberg96@gmail.com> wrote:
> -----Original Message-----
On 8/15/07, Berger, Daniel <Daniel.Berger@qwest.com> wrote:
[#11893] UDP sockets raise exception on MIPS platform — Brian Candler <B.Candler@...>
I am running ruby-1.8.6 under OpenWrt (*), which is a small MIPS platform
[#11894] IO#seek and whence problem — Bertram Scharpf <lists@...>
[#11899] pack/unpack 64bit Integers — Hadmut Danisch <hadmut@...>
Hi,
On Wed, Aug 15, 2007 at 06:50:01AM +0900, Hadmut Danisch wrote:
On Wed, Aug 15, 2007 at 02:45:20PM +0900, Brian Candler wrote:
On Fri, Aug 17, 2007 at 05:17:09PM +0200, Hadmut Danisch wrote:
Dumb question of the day: are Kernel#proc and Kernel#lambda identical?
> Dumb question of the day: are Kernel#proc and Kernel#lambda identical?
[#11900] missing bison, gperf not detected, do I need ruby to build ruby? — "Gabor Szabo" <szabgab@...>
Hi,
On Wed, 15 Aug 2007, Gabor Szabo wrote:
> > It seems ./configure did not detect the fact that bison was missing from
[#11930] Bug in select? — "Robert Dober" <robert.dober@...>
Hi
[#11945] Smoke testing Ruby — "Gabor Szabo" <szabgab@...>
Hi,
On 8/21/07, Gabor Szabo <szabgab@gmail.com> wrote:
Ruby used to have the Triple-R project based on Rubicon: see
Hugh Sasse wrote:
[#11947] Splatting MatchData bug? — Jos Backus <jos@...>
$ /tmp/ruby-1.9/bin/ruby -v
[#11948] Fibers in Ruby 1.9? — David Flanagan <david@...>
I just noticed that my ruby1.9 build of August 17th includes a Fiber
David Flanagan wrote:
On 8/22/07, Daniel Berger <djberg96@gmail.com> wrote:
On Wed, 22 Aug 2007 20:50:12 +0900, "Francis Cianfrocca" <garbagecat10@gmail.com> wrote:
On 8/22/07, MenTaLguY <mental@rydia.net> wrote:
On Thu, 23 Aug 2007 00:57:01 +0900, "Francis Cianfrocca" <garbagecat10@gmail.com> wrote:
[#11960] coroutines with Fiber::Core — David Flanagan <david@...>
The following code works on Linux with today's snapshot of 1.9:
Hi,
[#11981] Inverse Square Root — "Dave Pederson" <dave.pederson@...>
Hello-
[#11988] String#length not working properly in Ruby 1.9 — "Vincent Isambart" <vincent.isambart@...>
I saw that Matz just merged his M17N implementation in the trunk.
Hi,
On Sat, 25 Aug 2007 10:54:20 +0200, Yukihiro Matsumoto
Hi,
On 8/25/07, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:
Hi,
On 8/25/07, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:
[#12025] how to build ruby on vms — "toni" <toni@...>
Hi,
[#12040] Pragmas in Ruby 1.9 — David Flanagan <david@...>
Hi,
[#12042] Encodings of string literals; explicit codepoint escapes? — David Flanagan <david@...>
This message contains queries that probably only Matz can answer:
Hi,
Yukihiro Matsumoto wrote:
On 8/31/07, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:
Re: Fibers in Ruby 1.9?
On Thu, 23 Aug 2007 00:57:01 +0900, "Francis Cianfrocca" <garbagecat10@gmail.com> wrote: > Wouldn't Fibers make things harder for everything but Windows? Linux has > no equivalent construct whatsoever. Untrue: there's GNU pth, for instance. Fibers (or equivalent) don't require much in the way of kernel support and can generally be done as a user library. All you need is the ability to save/restore the stack and register contents, which also happens to be the minimum requirement for implementing threads the same way that Ruby 1.8 does them (though most user-thread implementations swap the stack pointer rather than the entire contents of the stack...). The problem for JRuby is that the JVM doesn't offer such a facility, so you're faced with a choice between using native Java threads, explicitly calling into a scheduler with a continuation, doing bytecode rewriting in a custom classloader to simulate such a facility by using exceptions to unwind/restore the stack, or running a stack machine/interpreter atop the JVM whose stack you can manipulate. None of those options is especially lightweight except explicit continuation-passing, but then that isn't transparent to use. > (Of course in the later Linux kernels, the Linux threads, which > actually are LWPs, don't have nearly as much scheduling overhead as > they used to.) To the extent that the Linux kernel has had any thread support at all, kernel threads have always been ordinary processes that share an address space and file descriptor table. Prior to the implementation of address space sharing, the only option was manipulating the CPU state from user-space (as done by pth and I _think_ the first Linux pthreads implementation), which even now has less scheduling overhead than kernel threads (although process scheduling under Linux is unusually cheap compared to most operating system kernels). Anyway, fibers can be a useful thing to have as a foundation for lightweight concurrency, even in the presence of native threads (e.g. you can have a worker thread per CPU, each one executing fiber-based tasks from a work pool), although there are portability trade-offs with respect to environments like the JVM. -mental