[#64703] Add `Hash#fetch_at` (issue #10017) — Wojtek Mach <wojtek@...>
Hey guys
1 message
2014/09/01
[#64711] [ruby-trunk - Bug #10193] [Closed] TestIO#test_readpartial_locktmp fails randomly — nobu@...
Issue #10193 has been updated by Nobuyoshi Nakada.
3 messages
2014/09/02
[#64744] [ruby-trunk - Bug #10202] [Open] TestBenchmark#test_realtime_output breaks on ARM — v.ondruch@...
Issue #10202 has been reported by Vit Ondruch.
3 messages
2014/09/03
[#64823] documenting constants — Xavier Noria <fxn@...>
I am writing a Rails guide about constant autoloading in Ruby on
5 messages
2014/09/07
[#64838] [ruby-trunk - Bug #10212] [Open] MRI is not for lambda calculus — ko1@...
Issue #10212 has been reported by Koichi Sasada.
6 messages
2014/09/08
[#64858] Re: [ruby-trunk - Bug #10212] [Open] MRI is not for lambda calculus
— Eric Wong <normalperson@...>
2014/09/08
rb_env_t may use a flexible array, helps a little even on my busy system:
[#64871] Re: [ruby-trunk - Bug #10212] [Open] MRI is not for lambda calculus
— SASADA Koichi <ko1@...>
2014/09/08
(2014/09/08 19:48), Eric Wong wrote:
[#64972] [ruby-trunk - Bug #10231] [Open] Process.detach(pid) defines new singleton classes every call — headius@...
Issue #10231 has been reported by Charles Nutter.
3 messages
2014/09/11
[#64980] [ruby-trunk - Bug #10212] MRI is not for lambda calculus — ko1@...
Issue #10212 has been updated by Koichi Sasada.
4 messages
2014/09/12
[#65142] [ruby-trunk - Feature #10267] [Open] Number of processors — akr@...
Issue #10267 has been reported by Akira Tanaka.
4 messages
2014/09/20
[#65144] Re: [ruby-trunk - Feature #10267] [Open] Number of processors
— Eric Wong <normalperson@...>
2014/09/20
akr@fsij.org wrote:
[#65210] [ruby-trunk - misc #10278] [Assigned] [RFC] st.c: use ccan linked list — nobu@...
Issue #10278 has been updated by Nobuyoshi Nakada.
3 messages
2014/09/22
[ruby-core:64894] [ruby-trunk - Feature #10187] minor iseq memory reductions
From:
normalperson@...
Date:
2014-09-09 10:00:43 UTC
List:
ruby-core #64894
Issue #10187 has been updated by Eric Wong.
ko1@atdot.net wrote:
> > Subject: [PATCH] iseq_inline_storage_entry: 24=>16 bytes on x86-64
>
> > +#define RUNNING_THREAD_ONCE_DONE ((rb_thread_t *)(0x1))
>
> How about to define macro such as
>
> #define ONCE_FINISHED(once) ((once)->running_thread == 0x01)
>
> and use as
>
> if (ONCE_FINIHSED(&is->once)) { ... }
I would need another macro for setting 0x1:
+ is->once.running_thread = RUNNING_THREAD_ONCE_DONE; /* success */
I prefer to only introduce one new macro.
----------------------------------------
Feature #10187: minor iseq memory reductions
https://bugs.ruby-lang.org/issues/10187#change-48753
* Author: Eric Wong
* Status: Open
* Priority: Low
* Assignee: Eric Wong
* Category: core
* Target version: current: 2.2.0
----------------------------------------
Pretty trivial and low impact, but I figure we might as well reduce
memory footprint a few kilobytes where we can and let the reductions
accumulate. Feature #10185 has much bigger impact.
* [PATCH 1/2] iseq_inline_storage_entry: 24=>16 bytes on x86-64
We may tag the running_thread pointer to avoid making the "once" struct
bigger than "struct iseq_inline_cache_entry".
This only saves a small amount with "valgrind ruby -e exit"
before:
total heap usage: 48,122 allocs, 19,248 frees, 8,110,149 bytes allocated
after:
total heap usage: 48,122 allocs, 19,253 frees, 8,099,197 bytes allocated
* [PATCH 2/2] rb_call_info_t: 104=>96 bytes on x86-64
This keeps ci->flag and ci->aux.index consistent across 32-bit
and 64-bit platforms.
ci->flag: VM_CALL_* flags only use 9 bits, currently
ci->aux.index: 2 billion ivars per class should be enough for anybody
This saves around 50K allocations on "valgrind ruby -e exit"
before:
total heap usage: 48,122 allocs, 19,253 frees, 8,099,197 bytes allocated
after:
total heap usage: 48,069 allocs, 19,214 frees, 8,047,266 bytes allocated
---Files--------------------------------
inline_storage-16.patch (2.45 KB)
call_info-96.patch (8.24 KB)
call_info-96-v2.patch (8.01 KB)
--
https://bugs.ruby-lang.org/