General

Profile

dsh0416 (Delton Ding)

  • Login: dsh0416
  • Registered on: 04/17/2018
  • Last sign in: 04/29/2021

Issues

open closed Total
Assigned issues 0 0 0
Reported issues 0 2 2

Activity

12/22/2020

06:27 PM Ruby Revision c6d7e02b (git): Enable `Fiber.current` and `Fiber#alive?` call inside ractor
dsh0416 (Delton Ding)
06:27 PM Ruby Revision f1591b38 (git): Add verbose nil in testing
dsh0416 (Delton Ding)

12/21/2020

12:15 PM Ruby Bug #17415: IO read gets blocked with Fiber Scheduler on Windows
zverok (Victor Shepelev) wrote in #note-3:
> https://docs.ruby-lang.org/en/master/doc/scheduler_md.html#label-IO
> ...
Ah. I tested it again with UDPSocket, and everything works fine. It looks like it is the problem mentioned in the sc...
dsh0416 (Delton Ding)
11:55 AM Ruby Bug #17415 (Closed): IO read gets blocked with Fiber Scheduler on Windows
Here is the given example code for reproduction the bug:
```ruby
rd, wr = IO.pipe
scheduler = Evt::Scheduler.new # Any scheduler including the test scheduler in the ruby repo could reproduce the same problem.
message = nil
Fiber...
dsh0416 (Delton Ding)

08/18/2020

04:05 PM Ruby Feature #17059: epoll as the backend of IO.select on Linux
Yes. I was just figured out that the scheduler is an example in the tests, where the real scheduler is designed to be separated from the ruby-core. dsh0416 (Delton Ding)

08/17/2020

12:00 PM Ruby Feature #17059: epoll as the backend of IO.select on Linux
The benchmark looks good. I've tested with similar code, and it's 46x slower on my machine.
It looks like `epoll` is highly depended on the time that `epoll_ctl` engaged.
Since the scheduler now have other registration control includ...
dsh0416 (Delton Ding)
07:37 AM Ruby Feature #17059: epoll as the backend of IO.select on Linux
Thanks for advice.
To separate the process of registration and wait is a good idea for performance.
Since even the `select` itself could also take advantages from this,
and simplify the whole I/O multiplexing process.
dsh0416 (Delton Ding)

08/16/2020

09:08 PM Ruby Feature #17059: epoll as the backend of IO.select on Linux
Update the WIP implementation dsh0416 (Delton Ding)
10:24 AM Ruby Feature #17059: epoll as the backend of IO.select on Linux
In general, event handling gems like nio4r could provide a similar `select` interface with multiple backends including select, kqueue and epoll support.
On the side of Ruby meta-programming, this part is easy to be implemented, and coul...
dsh0416 (Delton Ding)
01:12 AM Ruby Feature #17059: epoll as the backend of IO.select on Linux
It should greatly improve the performance.
Advanced registration is a feature of `epoll`,
but the performance is also an important part for it.
The benchmark from libevent shows the performance of epoll and poll or select,
are on a t...
dsh0416 (Delton Ding)

Also available in: Atom