[#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:65198] [ruby-trunk - Feature #10267] Number of processors
From:
akr@...
Date:
2014-09-22 03:08:20 UTC
List:
ruby-core #65198
Issue #10267 has been updated by Akira Tanaka. File etc-nprocessors2.patch added Eric Wong wrote: > akr@fsij.org wrote: > > matz accepted this feature including the method name, > > Etc.nprocessors_online. > > I think the name is too long. How about naming it after the GNU > coreutils nproc(1) command? > > Etc.nproc(:online) I feel "proc" as process. > I think it is important to be able to get all CPUs, not just > online CPUs, too (to workaround old SMP bugs in the kernel): > > Etc.nproc(:all) I (and kosaki-san) agreed that the most important number of processors is the number of online processors. I'm not sure that other numbers (all, cores, etc.) is actually useful for Ruby programming. However I think the method name can be changed to Etc.nprocessors. If someone succeeds to pursuade matz that other numbers are also important, we can add an optional argument as Etc.nprocessors(type). ---------------------------------------- Feature #10267: Number of processors https://bugs.ruby-lang.org/issues/10267#change-49037 * Author: Akira Tanaka * Status: Open * Priority: Normal * Assignee: * Category: * Target version: ---------------------------------------- How about a method to obtain number of processors? Several committers discussed this feature at RubyKaigi 2014. The number is important to use all available processing power. Too few processes doesn't use all processors. Too much processes wastes processing power. For example, test/lib/test/unit has -j N option for parallel tests and N is the number of processes to run simultaneously. But we must specify N explicitly. I think it should have reasonable default. I propose a primitive method to obtain number of processors for such purpose: Etc.nprocessors_online. It is implemented using sysconf(_SC_NPROCESSORS_ONLN). It is not standardized but available on many platforms: GNU/Linux, NetBSD, FreeBSD, OpenBSD, DragonFly BSD, OpenIndiana, Mac OS X and AIX. usa-san said he will implement on Windows (after this feature is implemented). kosaki-san said he will improve the method for container on GNU/Linux. (If a process is run in a container, usable number of processors may be restricted. So sysconf(_SC_NPROCESSORS_ONLN) may be not approprate.) matz accepted this feature including the method name, Etc.nprocessors_online. However kosaki-san said he will try to find better name (by survey container technology). So I'm waiting. ---Files-------------------------------- etc-nprocessors.patch (1.91 KB) etc-nprocessors2.patch (2.31 KB) -- https://bugs.ruby-lang.org/