diff options
Diffstat (limited to 'Examples/rb_malloc_example.txt')
-rw-r--r-- | Examples/rb_malloc_example.txt | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/Examples/rb_malloc_example.txt b/Examples/rb_malloc_example.txt new file mode 100644 index 000000000000..e0917c9af7cc --- /dev/null +++ b/Examples/rb_malloc_example.txt @@ -0,0 +1,120 @@ +The following is an example of rb_malloc.d. + +WARNING: This script is not 100% accurate; This prints graphical +representations of libc malloc() byte distributions by "recent" Ruby operation, +which we hope will be usually correct. This is an experimental script that may +be improved over time. + +Here we can see it running on Code/Ruby/func_abc.rb + +# rb_malloc.d -c ./func_abc.rb +Tracing... Hit Ctrl-C to end. +Function A +Function B +Function C +Ruby malloc byte distributions by recent Ruby operation, + func_abc.rb, method, Object::print + value ------------- Distribution ------------- count + 1 | 0 + 2 |@@@@@@@@@@@@@@@@@@@@ 1 + 4 | 0 + 8 | 0 + 16 |@@@@@@@@@@@@@@@@@@@@ 1 + 32 | 0 + + func_abc.rb, method, Module::method_added + value ------------- Distribution ------------- count + 8 | 0 + 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 + 32 | 0 + + ., objnew, fatal + value ------------- Distribution ------------- count + 1 | 0 + 2 |@ 1 + 4 |@ 1 + 8 |@@@ 2 + 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 22 + 32 |@@@@@@ 5 + 64 | 0 + + func_abc.rb, method, IO::write + value ------------- Distribution ------------- count + 2048 | 0 + 4096 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 + 8192 | 0 + + ., objnew, SystemStackError + value ------------- Distribution ------------- count + 1 | 0 + 2 | 3 + 4 |@@@@ 32 + 8 |@@ 15 + 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 279 + 32 |@@@ 30 + 64 | 2 + 128 | 0 + + ., objnew, NoMemoryError + value ------------- Distribution ------------- count + 1 | 0 + 2 |@ 3 + 4 |@@@ 17 + 8 |@@@@@@ 37 + 16 |@@@@@@@@@@@@@@@@@@@@@@@@ 146 + 32 |@@ 13 + 64 | 2 + 128 |@@@ 20 + 256 | 0 + 512 | 0 + 1024 | 1 + 2048 | 0 + + ., objnew, ThreadGroup + value ------------- Distribution ------------- count + 1 | 0 + 2 | 8 + 4 |@@@ 224 + 8 |@ 93 + 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1806 + 32 |@@@@@@@@ 496 + 64 | 3 + 128 | 2 + 256 | 0 + 512 | 1 + 1024 | 0 + + ., objnew, Object + value ------------- Distribution ------------- count + 1 | 0 + 2 | 35 + 4 |@@@ 291 + 8 |@@@ 300 + 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2679 + 32 |@@ 215 + 64 | 7 + 128 | 0 + + ruby, startup, - + value ------------- Distribution ------------- count + 1 | 0 + 2 |@ 10 + 4 |@@@ 34 + 8 |@@@ 38 + 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 409 + 32 |@@ 30 + 64 | 1 + 128 | 0 + 256 | 0 + 512 | 0 + 1024 | 2 + 2048 | 0 + 4096 | 0 + 8192 | 0 + 16384 | 0 + 32768 | 0 + 65536 | 0 + 131072 | 1 + 262144 | 0 + + |