[Mono-bugs] [Bug 75444][Nor] Changed - [GMCS] bad generic method
instantations performance
bugzilla-daemon at bugzilla.ximian.com
bugzilla-daemon at bugzilla.ximian.com
Sat Jul 2 19:50:55 EDT 2005
Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.
Changed by malekith at pld-linux.org.
http://bugzilla.ximian.com/show_bug.cgi?id=75444
--- shadow/75444 2005-07-02 19:32:28.000000000 -0400
+++ shadow/75444.tmp.5168 2005-07-02 19:50:55.000000000 -0400
@@ -133,6 +133,56 @@
------- Additional Comments From malekith at pld-linux.org 2005-07-02 19:32 -------
The attached patch changes hashing of generic instances to take into
account generic parameters. While this adds overhead to hashing
functions (so I don't know if it suitable for mono trunk), it reduces
number of conflicts, and thus almost doubles Nemerle compiler
performance (405s -> 224s, 50s -> 28s). It's still slow though...
+
+------- Additional Comments From malekith at pld-linux.org 2005-07-02 19:50 -------
+Top of oprofile report:
+
+CPU: AMD64 processors, speed 1800.1 MHz (estimated)
+Counted CPU_CLK_UNHALTED events (Cycles outside of halt state) with a
+unit mask of 0x00 (No unit mask) count 100000
+samples % symbol name
+357595 19.8571 GC_mark_from
+190626 10.5854 mono_type_stack_size
+115331 6.4043 mono_generic_inst_equal
+101756 5.6505 mono_generic_inst_hash
+76959 4.2735 GC_set_mark_bit
+68493 3.8034 mono_metadata_class_equal
+63561 3.5295 mymono_metadata_type_equal
+60756 3.3738 GC_finalize
+34754 1.9299 GC_is_marked
+32029 1.7786 GC_register_finalizer_inner
+30518 1.6946 mono_module_file_get_object
+21430 1.1900 do_mono_metadata_type_equal
+20747 1.1521 GC_base
+20644 1.1464 run_finalize
+19538 1.0849 mono_metadata_generic_class_is_valuetype
+19454 1.0803 _mono_metadata_generic_class_equal
+18118 1.0061 object_register_finalizer
+16538 0.9183 g_hash_nodes_destroy
+16102 0.8941 mono_metadata_generic_param_equal
+16013 0.8892 GC_gcj_malloc_ignore_off_page
+14656 0.8138 mono_class_vtable
+12777 0.7095 GC_signal_mark_stack_overflow
+12528 0.6957 InitializeCriticalSectionAndSpinCount
+11543 0.6410 GC_reclaim_clear
+11185 0.6211 GC_local_malloc_atomic
+10939 0.6074 GC_block_nearly_full
+10854 0.6027 mono_jit_compile_method_with_opt
+10381 0.5765 mono_metadata_type_hash
+10347 0.5746 mono_arch_local_regalloc
+8719 0.4842 mono_object_new_alloc_specific
+8347 0.4635 mono_metadata_signature_equal
+7870 0.4370 mono_method_to_ir
+7358 0.4086 GC_generic_malloc_inner
+7261 0.4032 .plt
+7127 0.3958 mono_jit_compile_method_inner
+7077 0.3930 mono_metadata_decode_row
+7076 0.3929 mono_burg_label_priv
+7037 0.3908 mono_marshal_get_runtime_invoke
+7033 0.3905 GC_find_header
+5855 0.3251 mono_runtime_class_init
+5807 0.3225 EnterCriticalSection
+
More information about the mono-bugs
mailing list