mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43548 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
df6722d9fc
commit
71b70f3cdf
7 changed files with 106 additions and 106 deletions
|
@ -1,10 +1,10 @@
|
|||
i = 0
|
||||
while i<30_000_000 # while loop 1
|
||||
a = '' # short-lived String
|
||||
b = ''
|
||||
c = ''
|
||||
d = ''
|
||||
e = ''
|
||||
f = ''
|
||||
i+=1
|
||||
end
|
||||
i = 0
|
||||
while i<30_000_000 # while loop 1
|
||||
a = '' # short-lived String
|
||||
b = ''
|
||||
c = ''
|
||||
d = ''
|
||||
e = ''
|
||||
f = ''
|
||||
i+=1
|
||||
end
|
||||
|
|
|
@ -1,27 +1,27 @@
|
|||
def nested_hash h, n
|
||||
if n == 0
|
||||
''
|
||||
else
|
||||
10.times{
|
||||
h[Object.new] = nested_hash(h, n-1)
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
long_lived = Hash.new
|
||||
nested_hash long_lived, 6
|
||||
|
||||
GC.start
|
||||
GC.start
|
||||
|
||||
i = 0
|
||||
while i<30_000_000 # while loop 1
|
||||
a = '' # short-lived String
|
||||
b = ''
|
||||
c = ''
|
||||
d = ''
|
||||
e = ''
|
||||
f = ''
|
||||
i+=1
|
||||
end
|
||||
|
||||
def nested_hash h, n
|
||||
if n == 0
|
||||
''
|
||||
else
|
||||
10.times{
|
||||
h[Object.new] = nested_hash(h, n-1)
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
long_lived = Hash.new
|
||||
nested_hash long_lived, 6
|
||||
|
||||
GC.start
|
||||
GC.start
|
||||
|
||||
i = 0
|
||||
while i<30_000_000 # while loop 1
|
||||
a = '' # short-lived String
|
||||
b = ''
|
||||
c = ''
|
||||
d = ''
|
||||
e = ''
|
||||
f = ''
|
||||
i+=1
|
||||
end
|
||||
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
long_lived = Array.new(1_000_000){|i| "#{i}"}
|
||||
GC.start
|
||||
GC.start
|
||||
i = 0
|
||||
while i<30_000_000 # while loop 1
|
||||
a = '' # short-lived String
|
||||
b = ''
|
||||
c = ''
|
||||
d = ''
|
||||
e = ''
|
||||
f = ''
|
||||
i+=1
|
||||
end
|
||||
long_lived = Array.new(1_000_000){|i| "#{i}"}
|
||||
GC.start
|
||||
GC.start
|
||||
i = 0
|
||||
while i<30_000_000 # while loop 1
|
||||
a = '' # short-lived String
|
||||
b = ''
|
||||
c = ''
|
||||
d = ''
|
||||
e = ''
|
||||
f = ''
|
||||
i+=1
|
||||
end
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
# make many symbols
|
||||
50_000.times{|i| sym = "sym#{i}".to_sym}
|
||||
GC.start
|
||||
GC.start
|
||||
|
||||
i = 0
|
||||
while i<30_000_000 # while loop 1
|
||||
a = '' # short-lived String
|
||||
b = ''
|
||||
c = ''
|
||||
d = ''
|
||||
e = ''
|
||||
f = ''
|
||||
i+=1
|
||||
end
|
||||
# make many symbols
|
||||
50_000.times{|i| sym = "sym#{i}".to_sym}
|
||||
GC.start
|
||||
GC.start
|
||||
|
||||
i = 0
|
||||
while i<30_000_000 # while loop 1
|
||||
a = '' # short-lived String
|
||||
b = ''
|
||||
c = ''
|
||||
d = ''
|
||||
e = ''
|
||||
f = ''
|
||||
i+=1
|
||||
end
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
long_lived = []
|
||||
GC.start
|
||||
GC.start
|
||||
|
||||
i = 0
|
||||
short_lived = ''
|
||||
while i<30_000_000 # while loop 1
|
||||
long_lived[0] = short_lived # write barrier
|
||||
i+=1
|
||||
end
|
||||
long_lived = []
|
||||
GC.start
|
||||
GC.start
|
||||
|
||||
i = 0
|
||||
short_lived = ''
|
||||
while i<30_000_000 # while loop 1
|
||||
long_lived[0] = short_lived # write barrier
|
||||
i+=1
|
||||
end
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
class C
|
||||
attr_accessor :foo
|
||||
end
|
||||
long_lived = C.new
|
||||
GC.start
|
||||
GC.start
|
||||
|
||||
i = 0
|
||||
short_lived = ''
|
||||
while i<30_000_000 # while loop 1
|
||||
long_lived.foo = short_lived # write barrier
|
||||
i+=1
|
||||
end
|
||||
class C
|
||||
attr_accessor :foo
|
||||
end
|
||||
long_lived = C.new
|
||||
GC.start
|
||||
GC.start
|
||||
|
||||
i = 0
|
||||
short_lived = ''
|
||||
while i<30_000_000 # while loop 1
|
||||
long_lived.foo = short_lived # write barrier
|
||||
i+=1
|
||||
end
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
require 'thread'
|
||||
|
||||
n = 1_000_000
|
||||
q = Queue.new
|
||||
consumer = Thread.new{
|
||||
while q.pop
|
||||
# consuming
|
||||
end
|
||||
}
|
||||
|
||||
producer = Thread.new{
|
||||
n.times{
|
||||
q.push true
|
||||
}
|
||||
q.push nil
|
||||
}
|
||||
|
||||
consumer.join
|
||||
require 'thread'
|
||||
|
||||
n = 1_000_000
|
||||
q = Queue.new
|
||||
consumer = Thread.new{
|
||||
while q.pop
|
||||
# consuming
|
||||
end
|
||||
}
|
||||
|
||||
producer = Thread.new{
|
||||
n.times{
|
||||
q.push true
|
||||
}
|
||||
q.push nil
|
||||
}
|
||||
|
||||
consumer.join
|
||||
|
|
Loading…
Reference in a new issue