[#2332] Ruby-Python fusion? — mrilu <mrilu@...>
Usually I give some time for news to settle before I pass the word, but
7 messages
2000/04/01
[#2353] Re: Function of Array.filter surprises me — schneik@...
5 messages
2000/04/03
[#2361] crontab — Hugh Sasse Staff Elec Eng <hgs@...>
I want to have a program that may be run between certain times.
11 messages
2000/04/05
[#2375] Marshal: Want string out, but want depth specified? — Hugh Sasse Staff Elec Eng <hgs@...>
@encoded = [Marshal.dump(@decoded, , depth)].pack("m")
7 messages
2000/04/07
[#2378] Re: Marshal: Want string out, but want depth specified?
— matz@... (Yukihiro Matsumoto)
2000/04/07
Hi,
[#2376] Iterator into array — Dave Thomas <Dave@...>
15 messages
2000/04/07
[#2397] Could missing 'end' be reported better? — mrilu <mrilu@...>
I'm not sure one could easily parse, or moreover report, this error better.
5 messages
2000/04/08
[#2404] Re: Iterator into array — Andrew Hunt <andy@...>
>It's still possible to introduce a new syntax for collecting yielded
6 messages
2000/04/08
[#2412] Re: Could missing 'end' be reported better? — h.fulton@...
7 messages
2000/04/09
[#2414] Re: Could missing 'end' be reported better?
— matz@... (Yukihiro Matsumoto)
2000/04/09
Hi,
[#2429] Please join me, I'm Hashing documentation — mrilu <mrilu@...>
This is a story about my hashing ventures, try to bear with me.
5 messages
2000/04/10
[#2459] Precedence question — Dave Thomas <Dave@...>
7 messages
2000/04/12
[#2474] Ruby 1.4.4 — Yukihiro Matsumoto <matz@...>
Ruby 1.4.4 is out, check out:
5 messages
2000/04/14
[#2494] ANNOUNCE : PL/Ruby — ts <decoux@...>
7 messages
2000/04/17
[#2495] Re: 'in' vs. 'into' — Andrew Hunt <andy@...>
># rescue MyException into myVar
4 messages
2000/04/17
[#2514] frozen behavior — Andrew Hunt <Andy@...>
7 messages
2000/04/19
[#2530] Re: 'in' vs. 'into' — Andrew Hunt <andy@...>
>Hmm, I've not decided yet. Here's the list of options:
6 messages
2000/04/20
[#2535] Default naming for iterator parameters — mrilu <mrilu@...>
I'm back at my computer after some traveling. I know I think Ruby
5 messages
2000/04/20
[#2598] different thread semantics 1.4.3 -> 1.4.4 — hipster <hipster@...4all.nl>
Hi fellow rubies,
4 messages
2000/04/28
[ruby-talk:02598] different thread semantics 1.4.3 -> 1.4.4
From:
hipster <hipster@...4all.nl>
Date:
2000-04-28 09:02:49 UTC
List:
ruby-talk #2598
Hi fellow rubies,
The following script produces different results when run under 1.4.3 and
1.4.4. It could be a problem in my script or a problem in ruby itself.
The script runs N threads, all contending for the same mutex. Progress
is shown graphically.
the script:
--------8<-------
#!/usr/bin/ruby -w
require "thread"
N = 16 # number of threads
$m = Mutex.new
$state = "." * N
def threadproc i
100.times do
$m.synchronize do
$state[i] = "o"
print $state, $/
sleep rand(2)/100.0 # emulate some work
$state[i] = "-"
end
end
$state[i] = "x"
end
threads = []
for i in 0..N-1 do
threads << Thread.start { threadproc i }
sleep 0.1
end
threads.each { |t| t.join }
--------8<-------
output under 1.4.3 (snipped and commented):
--------8<-------
# startup phase
---o............
--o-............
-o--............
o---............
---o............
--o-............
-o--............
o---............
---o............
--o-............
----o...........
--o--...........
o----...........
---o-...........
-o---...........
----o...........
--o--...........
o----...........
---o-...........
-o---...........
----o...........
--o--...........
-----o..........
o-----..........
-----o..........
# middle phase
-----o----------
----o-----------
---o------------
--o-------------
---------------o
--------------o-
-------------o--
------------o---
-----------o----
--------o-------
-------o--------
-o--------------
o---------------
----------o-----
---------o------
------o---------
-----o----------
----o-----------
---o------------
--o-------------
---------------o
--------------o-
-------------o--
------------o---
# end phase
xxxxxxxxx--o----
xxxxxxxxx-----o-
xxxxxxxxx----o--
xxxxxxxxx-o-----
xxxxxxxxxo------
xxxxxxxxx------o
xxxxxxxxx---o---
xxxxxxxxxx-o----
xxxxxxxxxx----o-
xxxxxxxxxx---o--
xxxxxxxxxx--o---
xxxxxxxxxx-----o
xxxxxxxxxx--o---
xxxxxxxxxxo-----
xxxxxxxxxx----o-
xxxxxxxxxxx--o--
xxxxxxxxxxxo----
xxxxxxxxxxx----o
xxxxxxxxxxx-o---
xxxxxxxxxxx----o
xxxxxxxxxxx-xo--
xxxxxxxxxxxox---
xxxxxxxxxxx-x-o-
xxxxxxxxxxxxx--o
xxxxxxxxxxxxxo--
xxxxxxxxxxxxx--o
xxxxxxxxxxxxxxo-
--------8<-------
output under 1.4.4:
--------8<-------
# startup
o...............
o...............
o...............
xo..............
xo..............
xo..............
xo..............
xo..............
xo..............
# middle
xxx.xxxox...x.xx
xxx.xxxox...x.xx
xxx.xxxox...x.xx
xxx.xxxox...x.xx
xxx.xxxox...x.xx
xxx.xxxox...x.xx
xxx.xxxox...x.xx
xxx.xxxox...x.xx
xxx.xxxxx..ox.xx
xxx.xxxxx..ox.xx
xxx.xxxxx..ox.xx
xxx.xxxxx..ox.xx
xxx.xxxxx..ox.xx
xxx.xxxxx..ox.xx
# end
xxxxxxxxxoxxxxxx
xxxxxxxxxoxxxxxx
xxxxxxxxxoxxxxxx
xxxxxxxxxoxxxxxx
xxxxxxxxxoxxxxxx
xxxxxxxxxoxxxxxx
xxxxxxxxxoxxxxxx
xxxxxxxxxoxxxxxx
xxxxxxxxxoxxxxxx
xxxxxxxxxoxxxxxx
xxxxxxxxxoxxxxxx
xxxxxxxxxoxxxxxx
--------8<-------
As you can see, time-slicing has left the building. What is wrong?
context (same for both runs):
- linux 2.2.14
- egcs-1.1.2 (also tested with gcc 2.95.2; same results)
- glibc 2.1.2
- pristine ruby sources 1.4.{3,4}
Regards,
Michel