[#87773] timer thread [was Re: [ruby-alerts:7905] failure alert on trunk-asserts@silicon-docker (NG (r63844))] — Eric Wong <normalperson@...>
> test_all <main>: warning: pthread_create failed for timer: Resource temporarily unavailable, scheduling broken
[#87836] [Ruby trunk Bug#14898] test/lib/test/unit/parallel.rb: TestSocket#test_timestamp stuck sometimes — ko1@...
Issue #14898 has been reported by ko1 (Koichi Sasada).
[email protected] wrote:
On 2018/07/06 18:47, Eric Wong wrote:
[#87847] undefined symbol: mjit_init_p — Leam Hall <leamhall@...>
I pulled Ruby trunk on 3 Jul and am now getting errors similar to the
QXMgSSB0b2xkIHlvdSwgYG1ha2UgaW5zdGFsbGAgaXMgbmVlZGVkIHRvIG1ha2UgUnVieSB3b3Jr
T25lIG1vcmUgcmVhc29uIGZvciBodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTM2
[#87986] [Ruby trunk Feature#14915] Deprecate String#crypt, move implementation to string/crypt — mame@...
Issue #14915 has been updated by mame (Yusuke Endoh).
[email protected] wrote:
normalperson (Eric Wong) wrote:
[#88088] [Ruby trunk Misc#14937] [PATCH] thread_pthread: lazy-spawn timer-thread only on contention — normalperson@...
Issue #14937 has been reported by normalperson (Eric Wong).
[#88104] [Ruby trunk Bug#14898] test/lib/test/unit/parallel.rb: TestSocket#test_timestamp stuck sometimes — ko1@...
Issue #14898 has been updated by ko1 (Koichi Sasada).
[#88173] [Ruby trunk Bug#14950] r64109 thread.c: move ppoll wrapper before thread_pthread.c - Windows compile failure - thread.c — Greg.mpls@...
Issue #14950 has been reported by MSP-Greg (Greg L).
[#88189] [Ruby trunk Bug#14950] r64109 thread.c: move ppoll wrapper before thread_pthread.c - Windows compile failure - thread.c — nobu@...
Issue #14950 has been updated by nobu (Nobuyoshi Nakada).
[#88199] [Ruby trunk Misc#14937] [PATCH] thread_pthread: lazy-spawn timer-thread only on contention — takashikkbn@...
Issue #14937 has been updated by k0kubun (Takashi Kokubun).
[email protected] wrote:
> yet, sky3 had a failure at
> http://ci.rvm.jp/results/trunk@P895/1173951
> > http://ci.rvm.jp/results/trunk@P895/1173951
[ruby-core:88044] Re: [Ruby trunk Feature#14859] [PATCH] implement Timeout in VM
[email protected] wrote: > normalperson (Eric Wong) wrote: > > Yes. The "timeout scheduler" is the same idea I used for auto-fiber. > > It uses ccan/list to manage a sorted list of timeouts. > > Still wonder, why you don't use binary min-heap for timers - > most commonly used datastructure for this task. > > It has guaranteed O(log n) performance for insertion/deletion, > and O(1) for check for min, and has very simple > implementation. > > Note, that for insertion of new maximum value, binary min-heap > also gives O(1) performance because item will not sift up. I'll keep that in mind; I haven't looked at heap data structures in years :< O(log n) for delete doesn't sound appealing, though. Most timeouts do not fire, they are deleted before the timeout is up because the task finishes on time. So I gravitate towards ccan/timer which has O(1) branchless delete (because it is just list_del from ccan/list). However I tried ccan/timer from git://git.ozlabs.org/~ccan/ccan and making it available via "timeout_lgpl" bundled gem (LGPL); but I kept on hitting the brute_force_first() function which ended up being slow to find the first timer. So I will avoid it until brute_force_first is replaced/optimized in ccan/timer. [ Old abandoned patch + timeout_lgpl gem using ccan/timer: https://80x24.org/spew/[email protected]/raw git clone https://80x24.org/timeout_ext.git ] For initial implementation, I chose naive insertion sort as it still beats Thread.new in current timeout.rb. But maybe we can try other data structures in the future (maybe build a skip list using ccan/list). Unsubscribe: <mailto:[email protected]?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>