[#106939] [Ruby master Bug#18455] `IO#close` has poor performance and difficult to understand semantics. — "ioquatix (Samuel Williams)" <noreply@...>

Issue #18455 has been reported by ioquatix (Samuel Williams).

10 messages 2022/01/01

[#106977] [Ruby master Feature#18461] closures are capturing unused variables — "bughit (bug hit)" <noreply@...>

Issue #18461 has been reported by bughit (bug hit).

12 messages 2022/01/05

[#106994] [Ruby master Feature#18462] Proposal to merge WASI based WebAssembly support — "katei (Yuta Saito)" <noreply@...>

Issue #18462 has been reported by katei (Yuta Saito).

8 messages 2022/01/07

[#106996] [Ruby master Feature#18463] Random number generation with xoshiro — "bbrklm (Benson Muite)" <noreply@...>

Issue #18463 has been reported by bbrklm (Benson Muite).

8 messages 2022/01/07

[#107005] [Ruby master Bug#18464] RUBY_INTERNAL_EVENT_NEWOBJ tracepoint causes an interpreter crash when combined with Ractors — "kjtsanaktsidis (KJ Tsanaktsidis)" <noreply@...>

Issue #18464 has been reported by kjtsanaktsidis (KJ Tsanaktsidis).

14 messages 2022/01/08

[#107008] [Ruby master Bug#18465] Make `IO#write` atomic. — "ioquatix (Samuel Williams)" <noreply@...>

Issue #18465 has been reported by ioquatix (Samuel Williams).

16 messages 2022/01/09

[#107073] [Ruby master Feature#18481] Porting YJIT to Rust (request for feedback) — "maximecb (Maxime Chevalier-Boisvert)" <noreply@...>

Issue #18481 has been reported by maximecb (Maxime Chevalier-Boisvert).

26 messages 2022/01/12

[#107106] [Ruby master Bug#18487] Kernel#binding behaves differently depending on implementation language of items on the stack — "alanwu (Alan Wu)" <noreply@...>

Issue #18487 has been reported by alanwu (Alan Wu).

11 messages 2022/01/13

[#107190] [Ruby master Feature#18498] Introduce a public WeakKeysMap that compares by equality — "byroot (Jean Boussier)" <noreply@...>

Issue #18498 has been reported by byroot (Jean Boussier).

17 messages 2022/01/19

[#107203] [Ruby master Bug#18501] [BUG] try to mark T_NONE object in RubyVM::InstructionSequence. load_from_binary — "byroot (Jean Boussier)" <noreply@...>

Issue #18501 has been reported by byroot (Jean Boussier).

8 messages 2022/01/20

[#107204] [Ruby master Bug#18502] Make ruby-2.7.5 on Solaris 10 ld.so.1: gcc: fatal: libintl.so.8: open failed: No such file or directory — "dklein (Dmitri Klein)" <noreply@...>

Issue #18502 has been reported by dklein (Dmitri Klein).

8 messages 2022/01/20

[#107275] [Ruby master Bug#18512] MacOS 12.1 Monterey Bug — "oucl5976@... (Paul Liu)" <noreply@...>

Issue #18512 has been reported by oucl5976@gmail.com (Paul Liu).

9 messages 2022/01/25

[#107291] [Ruby master Bug#18518] NoMemoryError + [FATAL] failed to allocate memory for twice 1 << large — "Eregon (Benoit Daloze)" <noreply@...>

Issue #18518 has been reported by Eregon (Benoit Daloze).

12 messages 2022/01/26

[#107310] [Ruby master Bug#18555] Running "bundle exec middleman server" on M1 Mac gives [BUG] Bus Error at 0x0000000104b04000 — "anthonyaykut (Anthony Aykut)" <noreply@...>

Issue #18555 has been reported by anthonyaykut (Anthony Aykut).

13 messages 2022/01/28

[#107346] [Ruby master Misc#18557] DevMeeting-2022-02-17 — "mame (Yusuke Endoh)" <noreply@...>

Issue #18557 has been reported by mame (Yusuke Endoh).

18 messages 2022/01/29

[#107392] [Ruby master Bug#18560] "Compaction isn't available on this platform" error running PG test suite on ppc64le — "vo.x (Vit Ondruch)" <noreply@...>

Issue #18560 has been reported by vo.x (Vit Ondruch).

7 messages 2022/01/31

[ruby-core:107150] [Ruby master Feature#18494] [RFC] ENV["RUBY_GC_..."]= changes GC parameters dynamically

From: "ko1 (Koichi Sasada)" <noreply@...>
Date: 2022-01-17 01:38:57 UTC
List: ruby-core #107150
Issue #18494 has been updated by ko1 (Koichi Sasada).


Some `RUBY_GC_...` vars do not affect correctly because they are used only on setup.
We need to document which vars can be modified dynamically.

----------------------------------------
Feature #18494: [RFC] ENV["RUBY_GC_..."]= changes GC parameters dynamically
https://bugs.ruby-lang.org/issues/18494#change-96003

* Author: normalperson (Eric Wong)
* Status: Open
* Priority: Normal
----------------------------------------
 This is intended to give Ruby application developers a way to to
 improve the out-of-the-box experience for end users running
 tools written in Ruby.  In most cases, end users are not and
 cannot be expected to know how to tune the GC better than the
 developers who wrote the Ruby code.
 
 This has no extra API footprint, and will silently be a no-op
 for other Ruby implementations.
 
 One potential incompatibility is users doing something like:
 
 ENV["RUBY_GC_..."] = "1m"
 system(...)
 
 However, the different behavior would be largely innocuous aside from
 different performance characteristics in the parent process.  Using:
 
 system({ "RUBY_GC_..." => "1m" }, ...)
 
 ...would restore the previous behavior (and is generally the
 preferred usage, anyways, to avoid thread-safety issues).
 
 RFC since I've only tested this with RUBY_GC_MALLOC_LIMIT and
 RUBY_GC_MALLOC_LIMIT_MAX, so far.  I've yet to check Ractor
 interactions since haven't followed Ruby in several years.
 
 I made this change to reduce memory use in a single-threaded
 pipeline+process manager designed for audio playback; but it
 probably makes sense for many long-running daemons that want
 to clamp memory use after all code is loaded.
 ---
 Note: I can't create Redmine tickets due to MFA: [ruby-core:105878].
 I completely disagree with MFA for Open Source contributions as it's a
 needless barrier to participation.  Open Source worked fine for decades
 without MFA.  I show you my code and even explain my changes; but nobody
 here knows me and nobody ever will.  I don't want nor need anyone to
 trust me when they can read my code and even ask me to clarify things
 if needed.
 
```diff
 hash.c               | 5 +++++
 test/ruby/test_gc.rb | 4 ++++
 2 files changed, 9 insertions(+)
 
 diff --git a/hash.c b/hash.c
 index f032ef642a..d7cc797ef5 100644
 --- a/hash.c
 +++ b/hash.c
 @@ -4911,6 +4911,7 @@ static VALUE env_aset(VALUE nm, VALUE val);
 static void
 reset_by_modified_env(const char *nam)
 {
 +    static char gc_var_pfx[] = "RUBY_GC_";
 /*
  * ENV['TZ'] = nil has a special meaning.
  * TZ is no longer considered up-to-date and ruby call tzset() as needed.
 @@ -4919,6 +4920,10 @@ reset_by_modified_env(const char *nam)
  */
 if (ENVMATCH(nam, TZ_ENV)) {
 ruby_reset_timezone();
 +    } else if (ENVNMATCH(nam, gc_var_pfx, sizeof(gc_var_pfx) - 1)) {
 +        ENV_LOCK();
 +        ruby_gc_set_params();
 +        ENV_UNLOCK();
 }
 }
 
 diff --git a/test/ruby/test_gc.rb b/test/ruby/test_gc.rb
 index 788f2974b5..5fd5924fb3 100644
 --- a/test/ruby/test_gc.rb
 +++ b/test/ruby/test_gc.rb
 @@ -334,6 +334,10 @@ def test_gc_parameter
 assert_in_out_err([env, "-w", "-e", "exit"], "", [], /RUBY_GC_OLDMALLOC_LIMIT_MAX=16000000/, "")
 assert_in_out_err([env, "-w", "-e", "exit"], "", [], /RUBY_GC_OLDMALLOC_LIMIT_GROWTH_FACTOR=2.0/, "")
 end
 +
 +    assert_in_out_err(["-w", "-e", <<-'end'], "", [], /RUBY_GC_MALLOC_LIMIT=1024/, "")
 +      ENV['RUBY_GC_MALLOC_LIMIT'] = '1k'
 +    end
 end
 
 def test_profiler_enabled
```



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next