[#42344] [ruby-trunk - Feature #5964][Open] Make Symbols an Alternate Syntax for Strings — Tom Wardrop <tom@...>

23 messages 2012/02/03

[#42443] [ruby-trunk - Bug #5985][Open] miniruby skews "make benchmark" results — Eric Wong <normalperson@...>

21 messages 2012/02/08

[#42444] [ruby-trunk - Bug #5986][Open] Segmentation Fault — Luis Matta <levmatta@...>

16 messages 2012/02/08

[#42471] [ruby-trunk - Feature #5995][Open] calling io_advise_internal() in read_all() — Masaki Matsushita <glass.saga@...>

20 messages 2012/02/10

[#42560] [ruby-trunk - Bug #6011][Open] ruby-1.9.3-p0/lib/webrick/utils.rb:184: [BUG] Segmentation fault — Vit Ondruch <v.ondruch@...>

12 messages 2012/02/13

[#42579] [ruby-trunk - Bug #6012][Open] Proc#source_location also return the column — Roger Pack <rogerpack2005@...>

14 messages 2012/02/14

[#42685] [ruby-trunk - Bug #6036][Open] Test failures in Fedora Rawhide/17 — Bohuslav Kabrda <bkabrda@...>

14 messages 2012/02/16

[#42697] [ruby-trunk - Bug #6040][Open] Transcoding test failure: Big5 to UTF8 not defined (MinGW) — Luis Lavena <luislavena@...>

10 messages 2012/02/16

[#42813] [ruby-trunk - Feature #6065][Open] Allow Bignum marshalling/unmarshalling from C API — Martin Bosslet <Martin.Bosslet@...>

22 messages 2012/02/23

[#42815] [ruby-trunk - Bug #6066][Open] Fix "control may reach end of non-void function" warnings for clang — Eric Hodel <drbrain@...7.net>

15 messages 2012/02/23

[#42857] [ruby-trunk - Feature #6074][Open] Allow alias arguments to have a comma — Thomas Sawyer <transfire@...>

20 messages 2012/02/24

[#42891] [ruby-trunk - Feature #6083][Open] Hide a Bignum definition — Koichi Sasada <redmine@...>

23 messages 2012/02/25

[#42906] [ruby-trunk - Bug #6085][Open] Treatment of Wrong Number of Arguments — Marc-Andre Lafortune <ruby-core@...>

14 messages 2012/02/25

[#42949] [ruby-trunk - Bug #6089][Open] Test suite fails with OpenSSL 1.0.1 — Vit Ondruch <v.ondruch@...>

13 messages 2012/02/26

[ruby-core:43007] Re: 50$ for answering my stackoverflow question about Ruby and GIL

From: Grigory Petrov <grigory.v.p@...>
Date: 2012-02-28 16:17:10 UTC
List: ruby-core #43007
Sorry, my english is not very good, i can't understand this :(. Adding
"1" to the list is a fast operation. Amount of "1" and "2" in the list
is ~ same. Number of probes is very high, > 10 millions. I can't
figure out WHAT can happen with concurrency other than big splice size
in order for thousands of "1" to be followed by thousands of "2" for
10 seconds of test. Of course physical threads may switch multiple
times, but i'm counting only ruby code execution, regardless of
"physical threads" or "green threads".

Best,
Grigory.

On Tue, Feb 28, 2012 at 8:07 PM, Eric Hodel <drbrain@segment7.net> wrote:
> On Feb 28, 2012, at 2:43, Grigory Petrov <grigory.v.p@gmail.com> wrote:
>
>>> This test code doesn't show switch time, it shows how fast two ruby threads can append items to a list. ach thread may switch multiple times during appending the item, or may not switch at all, but resume executing the same thread.
>>
>> Ok, i spelled it incorrectly. The test code shows amount of time a
>> Ruby thread is working before scheduler suspends it (due to GIL) and
>> gives time to another Ruby thread. This may or may not correlate with
>> physical threads - i'm not very good with Ruby scheduling code on
>> different OS'es.
>>
>> For example, if resulting list looks like [ 1, 2, 1, 2, 1, 2, 1, 2, 1,
>> 2, 1, 2 ] i can say that scheduler gives threads a small splice. And
>> if resulting list looks like [ 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2 ] =
>> splice is big.
>
> You can't draw that conclusion from the output since you don't know if thread 2 ran between the third and fourth 1 in the Array, but not long enough to append a 2 to the list.
>

In This Thread

Prev Next