[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