I built xemacs 21.4.19 with the following configure
CC=/opt/gcc-4.2.3/bin/gcc bash ./configure
--prefix=/usr/local/xemacs-21.4 --with-system-malloc
--package-path=/usr/local/lib/xemacs --pdump
and with 2 frames open, it consumes about 10-20% cpu, but interactive
handling is normal. No delays
when moving the mouse in compilation buffers or the like.
ES STATE TIME WCPU CPU COMMAND
311514 tmstaedt 20 0 17M 21M run 1:58 21.61% 12.99% xemacs
Thomas Mittelstaedt schrieb:
Tried two more things:
Upgraded the machine to the latest technology level 5200-10 with service
pack 4 -> no change
Installed an evaluation version of ibm's compiler xlc -> also no change.
CC=/usr/vac/bin/xlc bash ./configure --with-system-malloc --without-gcc
--with-pdump --without-error-checking
--with-late-packages=/usr/local/lib/xemacs --without-kkcc
Here is some tprof data (no tar again) of a rather short session, where
I opened a second frame, marked things
with the mouse. Switched to the other frame.
Process Freq Total Kernel User Shared
Other
======= ==== ===== ====== ==== ======
=====
ild/xemacs-21.5.28-latest/src/xemacs 3 63,24 2,30 56,85
4,09 0,00
wait 1 34,61 34,61 0,00
0,00 0,00
======= ==== ===== ====== ==== ======
=====
Total 23 100,00 38,05 57,49
4,46 0,00
Total Samples = 9961 Total Elapsed Time = 99,61s
Total % For All Processes (USER) = 57,49
User
Process %
=============
======
/localbuild/xemacs-21.5.28-latest/src/xemacs
56,85
Total % For All Processes
(/localbuild/xemacs-21.5.28-latest/src/xemacs) = 56,85
Subroutine %
Source
========== ======
======
.extent_list_locate 6,51
extents.c
.add_ichar_rune_1 3,40
redisplay.c
.create_text_block 2,58
redisplay.c
.display_table_entry 1,91
glyphs.c
.re_match_2_internal 1,43
regex.c
.extent_list_at 1,39
extents.c
.compare_runes 1,30
redisplay-output.c
.Fcons 0,99
alloc.c
.assq_no_quit 0,92
fns.c
.no_conversion_convert 0,89
file-coding.c
.extent_fragment_update 0,86
extents.c
.merge_face_cachel_data 0,86
faces.c
.execute_optimized_program 0,79
bytecode.c
.mark_object 0,69
gc.c
.calculate_yoffset 0,67
redisplay.c
.free_cons 0,67
alloc.c
.noseeum_cons 0,66
alloc.c
.recompute_need_to_garbage_collect 0,64
gc.c
.BYTE_BUF_BYTE_ADDRESS_NO_VERIFY 0,64
buffer.h
.readchar 0,54
lread.c
.recompute_funcall_allocation_flag 0,53
alloc.c
.get_builtin_face_cache_index 0,51
faces.c
.generate_fstring_runes 0,47
redisplay.c
.add_ichar_rune 0,47
redisplay.c
.compare_display_blocks 0,44
redisplay-output.c
.soe_move 0,44
extents.c
.find_symbol_value_1 0,44
symbols.c
.bytebpos_to_charbpos 0,44
buffer.h
.BYTE_BUF_BYTE_ADDRESS 0,43
buffer.h
.specifier_get_inst_list 0,43
specifier.c
.extent_list_locate_from_pos 0,42
extents.c
.get_merged_face_cache_index 0,42
faces.c
.store_symval_forwarding 0,38
symbols.c
.extent_ancestor 0,38
extents-impl.h
.unbind_to_hairy 0,37
eval.c
.buffer_or_string_extent_info 0,37
extents.c
.gap_array_recompute_derived_values 0,35
extents.c
.Fset 0,34
symbols.c
.gap_array_adjust_markers 0,33
extents.c
.find_htentry 0,32
elhash.c
.do_symval_forwarding 0,32
symbols.c
.specifier_instance_1 0,31
specifier.c
.reject_constant_symbols 0,28
symbols.c
.compare_merged_face_cachels 0,28
faces.c
.offset_post_relocation 0,28
regex.c
.buffer_or_string_extent_info_force 0,26
extents.c
.call_with_suspended_errors 0,26
eval.c
.decode_device_ii_format 0,26
glyphs.c
.extent_find_end_of_run 0,26
extents.c
.get_extent_fragment_face_cache_index 0,25
faces.c
.internal_equal 0,25
fns.c
.gap_array_insert_els 0,24
extents.c
.re_search_2 0,24
regex.c
.sweep_conses 0,23
alloc.c
.specifier_instance_from_inst_list 0,23
specifier.c
.bit_vector_bit 0,22
lisp.h
.get_display_tables 0,22
glyphs.c
.map_widget_values 0,22
lwlib.c
.output_display_line 0,22
redisplay-output.c
.Ffuncall 0,21
eval.c
.extent_aux_or_default 0,21
extents-impl.h
.image_instantiate 0,21
glyphs.c
.regenerate_window 0,20
redisplay.c
.gap_array_delete_els 0,20
extents.c
.alloc_managed_lcrecord 0,19
alloc.c
.instantiator_eq_equal 0,19
glyphs.c
.free_list 0,18
alloc.c
.find_symbol_value_quickly 0,18
symbols.c
.bytebpos_to_membpos 0,18
buffer.h
.buffer_or_string_bytexpos_to_memxpos 0,18
buffer.h
.gap_array_move_gap 0,17
extents.c
.buffer_or_string_extent_list 0,17
extents.c
.BYTE_BUF_BYTE_ADDRESS_NO_VERIFY 0,17
buffer.h
.buffer_or_string_stack_of_extents_force 0,16
extents.c
.x_text_width 0,16
redisplay-x.c
.reset_face_cachel 0,16
faces.c
.free_managed_lcrecord 0,16
alloc.c
.unbind_to_1 0,16
eval.c
.set_buffer_internal 0,15
buffer.c
.call_trapping_problems 0,15
eval.c
.fetch_value_maybe_past_magic 0,15
symbols.c
.get_image_instantiator_governing_domain 0,15
glyphs.c
.membpos_to_bytebpos 0,14
buffer.h
.get_next_display_block 0,14
redisplay-output.c
.advance_plist_pointers 0,14
fns.c
.symbol_is_constant 0,13
symbols.c
.sync_display_line_structs 0,13
redisplay-output.c
.BYTE_BUF_BYTE_ADDRESS 0,13
buffer.h
.device_matches_specifier_tag_set_p 0,12
specifier.c
.symbol_value_in_buffer 0,12
symbols.c
.read_string 0,12
lread.c
.ensure_face_cachel_contains_charset 0,12
faces.c
.byte_scan_buffer 0,12
search.c
.signal_single_extent_changed 0,12
extents.c
.mark_cons 0,12
alloc.c
.specbind 0,12
eval.c
.generate_formatted_string_db 0,11
redisplay.c
.iscntrl 0,11
glink.s
.set_bit_vector_bit 0,11
lisp.h
.Fstring_equal 0,11
fns.c
.image_instance_needs_layout 0,11
glyphs.c
.instantiator_eq_hash 0,11
glyphs.c
.symbol_value_buffer_local_info 0,11
symbols.c
.extract_number 0,11
regex.c
.write_out_buffer_local_cache 0,10
symbols.c
.read_atom_0 0,10
lread.c
.Fgethash 0,10
elhash.c
.decode_extent 0,10
extents.c
.buffer_or_string_memxpos_to_bytexpos 0,10
buffer.h
.x_output_display_block 0,10
redisplay-x.c
.funcall_compiled_function 0,10
eval.c
.hash_string 0,10
symbols.c
.record_unwind_protect 0,10
eval.c
.Fmemq 0,09
fns.c
.snarf_widget_value_mapper 0,09
gui-x.c
.ensure_face_cachel_complete 0,08
faces.c
.extent_fragment_sort_by_priority 0,08
extents.c
.redisplay_text_width_ichar_string 0,08
redisplay.c
.add_glyph_rune 0,08
redisplay.c
.Fset_extent_parent 0,08
extents.c
.condition_bind_unwind 0,08
eval.c
.extent_ancestor 0,08
extents-impl.h
.specbind_magic 0,08
eval.c
.extent_list_insert 0,08
extents.c
.redisplay_unmap_subwindows 0,07
redisplay-output.c
.extent_fragment_delete 0,07
extents.c
.restore_int 0,07
eval.c
.concat 0,07
fns.c
.internal_catch 0,07
eval.c
.find_symbol_value 0,07
symbols.c
.sweep_strings 0,07
alloc.c
.set_alloc_mins_and_maxes 0,07
alloc.c
.Dynarr_resize 0,07
dynarr.c
.read1 0,07
lread.c
.add_string_to_fstring_db_runes 0,07
redisplay.c
.record_unwind_protect_restoring_int 0,07
eval.c
.oblookup 0,06
symbols.c
.extent_at 0,06
extents.c
.compact_string_chars 0,06
alloc.c
.generate_display_line 0,06
redisplay.c
.extent_list_delete 0,06
extents.c
.decode_mode_spec 0,06
redisplay.c
.gc_cache_hash 0,06
xgccache.c
.map_extents 0,06
extents.c
.common_op_match_null_string_p 0,06
regex.c
.BYTE_BUF_PTR_BYTE_POS 0,06
buffer.h
.xfree_1 0,06
alloc.c
.external_plist_get 0,06
fns.c
.frame_device 0,05
frame.c
.TRT_TABLE_OF 0,05
buffer.h
.call_with_condition_handler 0,05
eval.c
.set_up_buffer_local_cache 0,05
symbols.c
.get_display_block_from_line 0,05
redisplay.c
.value_slot_past_magic 0,05
symbols.c
.add_blank_rune 0,05
redisplay.c
.extract_number_and_incr 0,05
regex.c
.make_opaque_ptr 0,05
opaque.c
.pixel_to_glyph_translation 0,05
redisplay.c
.optimize_byte_code 0,05
bytecode.c
.read_list_conser 0,05
lread.c
.separate_textual_runs_nomule 0,05
redisplay-x.c
.internal_hash 0,05
elhash.c
.alt_match_null_string_p 0,05
regex.c
.update_glyph_cachel_data 0,04
glyphs.c
.redisplay_window 0,04
redisplay.c
.specifier_instance 0,04
specifier.c
.Fextent_property 0,04
extents.c
.sequence_reader 0,04
lread.c
.Dynarr_free 0,04
dynarr.c
.reader_nextchar 0,04
lread.c
.menu_item_descriptor_to_widget_value_1 0,04
menubar-x.c
.Dynarr_realloc 0,04
dynarr.c
.BYTE_BUF_PTR_BYTE_POS 0,04
buffer.h
.compile_pattern 0,04
search.c
.x_text_width_single_run 0,04
redisplay-x.c
.pdump_objects_unmark 0,04
dumper.c
.buffer_or_string_accessible_end_byte 0,04
text.c
.buffer_or_string_absolute_end_byte 0,04
text.c
.internal_bind_int 0,04
eval.c
.xhash_table 0,04
elhash.c
.set_trapping_problems_flags 0,04
eval.c
.call_trapping_problems_1 0,04
eval.c
.tick_lcrecord_stats 0,04
alloc.c
.offset_to_charxpos 0,03
regex.c
.resizing_buffer_writer 0,03
lstream.c
.Lstream_flush 0,03
lstream.c
.Lstream_flush_out 0,03
lstream.c
.Lstream_really_write 0,03
lstream.c
.marker_position 0,03
marker.c
.set_marker_internal 0,03
marker.c
.fixup_internal_substring 0,03
insdel.c
.free_opaque_ptr 0,03
opaque.c
.bytebpos_to_charbpos 0,03
buffer.h
.safe_strcmp 0,03
lwlib.c
.call_trapping_problems_2 0,03
eval.c
.Flength 0,03
fns.c
.va_call_trapping_problems_1 0,03
eval.c
.get_char_table_1 0,03
chartab.h
.set_extent_endpoints 0,03
extents.c
.make_uninit_string 0,03
alloc.c
.window_is_rightmost 0,03
window.c
.Fsetcdr 0,03
data.c
.list2 0,03
alloc.c
.intern_int 0,03
symbols.c
.read_atom 0,03
lread.c
.buffer_or_string_bytexpos_to_charxpos 0,03
buffer.h
.update_syntax_cache 0,03
syntax.c
.window_modeline_height 0,03
window.c
.Fexpand_file_name 0,03
fileio.c
.Feval 0,03
eval.c
.update_image_instance 0,03
glyphs.c
.BYTE_BUF_BYTE_ADDRESS_NO_VERIFY 0,03
buffer.h
.fast_string_match 0,03
search.c
.pdump_reloc_one 0,03
dumper.c
.xmalloc_and_zero 0,03
alloc.c
.xcalloc 0,03
alloc.c
.mark_face_cachels_as_not_updated 0,03
faces.c
.free 0,03
glink.s
.malloc_after 0,03
alloc.c
.mark_vector 0,03
alloc.c
.Fget 0,02
fns.c
.buffer_insert_string_1 0,02
insdel.c
.extent_ancestor_1 0,02
extents.c
.soe_insert 0,02
extents.c
.next_previous_single_property_change 0,02
extents.c
.mark_symbol 0,02
symbols.c
.get_char_property 0,02
extents.c
.window_truncation_on 0,02
window.c
.redisplay_output_window 0,02
redisplay-output.c
.decode_image_instantiator_format 0,02
glyphs.c
.glyph_image_instance 0,02
glyphs.c
.glyph_ascent 0,02
glyphs.c
.Fdeallocate_event 0,02
events.c
.get_glyph_cachel_index 0,02
glyphs.c
.redisplay_clear_region 0,02
redisplay-output.c
.redisplay_unmap_subwindows_maybe 0,02
redisplay-output.c
.redisplay_without_hooks 0,02
redisplay.c
.gethash 0,02
hash.c
.where_is_recursive_mapper 0,02
keymap.c
.BYTE_BUF_BYTE_ADDRESS_NO_VERIFY 0,02
buffer.h
.mark_string 0,02
alloc.c
.default_face_height_and_width 0,02
faces.c
.gui_name_accelerator 0,02
gui.c
.make_string 0,02
alloc.c
.BYTE_BUF_BYTE_ADDRESS_NO_VERIFY 0,02
buffer.h
.bytebpos_to_membpos 0,02
buffer.h
.byte_marker_position 0,02
marker.c
.long_to_string 0,02
print.c
.gutter_extent_signal_changed_region_maybe 0,02
gutter.c
.update_mirror_syntax_if_dirty 0,02
syntax.h
.calloc 0,02
glink.s
.group_match_null_string_p 0,02
regex.c
.Dynarr_newf 0,02
dynarr.c
.xrealloc 0,02
alloc.c
.mark_extent 0,02
extents.c
.sweep_lcrecords_1 0,02
alloc.c
.fixup_search_regs_for_buffer 0,02
search.c
.Ffind_file_name_handler 0,02
fileio.c
.gc_cache_lookup 0,02
xgccache.c
.Fx_get_resource 0,02
device-x.c
.warning_will_be_discarded 0,02
eval.c
.window_scrollbar_width 0,02
window.c
.add_accel_and_to_external 0,02
gui-x.c
.jmpsavefpr 0,02
longjmp.s
.window_display_lines 0,02
window.c
.UPDATE_SYNTAX_CACHE_FORWARD 0,02
syntax.h
.Fcdr 0,02
data.c
.Fcar 0,02
data.c
.lispdesc_indirect_count 0,02
lrecord.h
.buffer_or_string_absolute_begin_byte 0,02
text.c
.x_output_string 0,02
redisplay-x.c
.find_charsets_in_ichar_string 0,02
text.c
.itext_n_addr 0,01
text.h
.free_widget_value_contents 0,01
lwlib.c
.decode_frame_or_selected 0,01
frame.c
.buffer_or_string_memxpos_to_charxpos 0,01
buffer.h
.lw_modify_all_widgets 0,01
lwlib.c
.device_matches_device_spec 0,01
frame.c
.extent_no_chase_plist_addr 0,01
extents-impl.h
.status_notify 0,01
process.c
.Fsubst_char_in_region 0,01
editfns.c
.save_restriction_restore 0,01
editfns.c
.TabsSetValues 0,01
xlwtabs.c
.charbpos_to_bytebpos 0,01
buffer.h
.readevalloop 0,01
lread.c
.build_load_history 0,01
lread.c
.xm_update_label 0,01
lwlib-Xm.c
.xm_update_one_widget 0,01
lwlib-Xm.c
.read0 0,01
lread.c
.buffer_or_string_stack_of_extents 0,01
extents.c
.update_window_scrollbars 0,01
scrollbar.c
.isfloat_string 0,01
lread.c
.prev_bytexpos 0,01
buffer.h
.decode_buffer_or_string 0,01
extents.c
.string_index_byte_to_char 0,01
text.h
.decode_buffer 0,01
buffer.c
.next_string_index 0,01
text.h
.prepare_to_modify_buffer 0,01
insdel.c
.init_syntax_cache 0,01
syntax.c
.set_buffer_point 0,01
insdel.c
.make_string_from_buffer_1 0,01
insdel.c
.noseeum_copy_marker 0,01
marker.c
.copy_marker_1 0,01
marker.c
.Fset_marker 0,01
marker.c
.unreadchar 0,01
lread.c
.make_char 0,01
lisp.h
.casify_object 0,01
casefiddle.c
.charbpos_to_membpos 0,01
buffer.h
.xmalloc_widget_value 0,01
gui-x.c
.search_buffer 0,01
search.c
.resizing_buffer_stream_ptr 0,01
lstream.c
.Lstream_rewind 0,01
lstream.c
.button_item_to_widget_value 0,01
gui-x.c
.check_constants_index 0,01
bytecode.c
.bytecode_arithop 0,01
bytecode.c
.Lstream_new 0,01
lstream.c
.regex_compile 0,01
regex.c
.charbpos_to_bytebpos 0,01
buffer.h
.Fput 0,01
fns.c
.buffer_or_other_internal_format 0,01
buffer.h
.Fskip_chars_backward 0,01
search.c
.BYTE_BUF_BYTE_ADDRESS 0,01
buffer.h
.itext_ichar_len_fmt 0,01
text.h
.Fsubstitute_in_file_name 0,01
fileio.c
.Ffile_name_nondirectory 0,01
fileio.c
.re_search 0,01
regex.c
.Fsymbol_value_in_buffer 0,01
symbols.c
.re_match_2 0,01
regex.c
.describe_gc_cache 0,01
xgccache.c
.validify_resource_component 0,01
device-x.c
.window_display_buffer 0,01
window.c
.window_char_width 0,01
window.c
.window_pixel_width_to_char_width 0,01
window.c
.window_left_gutter_width 0,01
window.c
.Fintern 0,01
symbols.c
.find_mmap_handle 0,01
ralloc.c
.window_top_gutter_height 0,01
window.c
.check_obarray 0,01
symbols.c
.qxestrlen 0,01
lisp.h
.sigsetjmp 0,01
longjmp.s
.jmpsavegpr 0,01
longjmp.s
.find_window_mirror 0,01
window.c
.find_window_mirror_internal 0,01
window.c
.separate_textual_runs 0,01
redisplay-x.c
.update_mirror_internal 0,01
window.c
.retry_close 0,01
sysdep.c
.redisplay_update_line 0,01
redisplay-output.c
.invalidate_glyph_geometry_maybe 0,01
glyphs.c
.window_is_leftmost 0,01
window.c
.command_event_p 0,01
events.c
.Fevent_window 0,01
events.c
.event_pixel_translation 0,01
events.c
.glyph_width 0,01
glyphs.c
.isspace 0,01
glink.s
.allocate_extent 0,01
alloc.c
.glyph_baseline 0,01
glyphs.c
.free_marker 0,01
alloc.c
.glyph_contrib_p 0,01
glyphs.c
.image_validate 0,01
glyphs.c
.image_instance_hash 0,01
glyphs.c
.init_string_ascii_begin 0,01
alloc.c
.find_coding_system_for_text_file 0,01
file-coding.c
.Fmake_symbol 0,01
alloc.c
.find_coding_system 0,01
file-coding.c
.Fmake_byte_code 0,01
alloc.c
.Fselected_console 0,01
console.c
.Dynarr_insert_many 0,01
dynarr.c
.allocate_string_chars_struct 0,01
alloc.c
.end_hold_frame_size_changes 0,01
redisplay.c
.Fconsole_type 0,01
console.c
.allocate_lisp_storage 0,01
alloc.c
.generate_displayable_area 0,01
redisplay.c
.pdump_load_finish 0,01
dumper.c
.string_char_addr 0,01
text.h
.sweep_compiled_functions 0,01
alloc.c
.execute_internal_event 0,01
event-stream.c
.redisplay_frame 0,01
redisplay.c
.xstrdup 0,01
alloc.c
.mark_hash_table 0,01
elhash.c
.lisp_object_equal_equal 0,01
elhash.c
.copy_compress_hentries 0,01
elhash.c
.xmalloc 0,01
alloc.c
.resize_hash_table 0,01
elhash.c
.Blocktype_free 0,01
blocktype.c
.drain_tty_devices 0,01
event-unixoid.c
.x_event_to_emacs_event 0,01
event-Xt.c
.emacs_Xt_remove_timeout 0,01
event-Xt.c
.keymap_store_inverse_internal 0,01
keymap.c
.mark_extent_info 0,01
extents.c
.string_char_addr 0,01
text.h
.For 0,01
eval.c
.XCHAR_OR_CHAR_INT 0,01
lisp.h
.va_call_trapping_problems 0,01
eval.c
.calculate_baseline 0,01
redisplay.c
.maybe_invalid_argument 0,01
eval.c
.detach_all_extents 0,01
extents.c
.copy_string_extents 0,01
extents.c
.get_relevant_keymaps 0,01
keymap.c
.issue_call_trapping_problems_warning 0,01
eval.c
.Fset_extent_property 0,01
extents.c
.generate_modeline 0,01
redisplay.c
.calculate_display_line_boundaries 0,01
redisplay.c
.keymap_submaps_mapper 0,01
keymap.c
.charbpos_to_bytebpos 0,01
buffer.h
.column_at_point 0,01
indent.c
.next_bytexpos 0,01
buffer.h
.next_string_index 0,01
text.h
.update_face_cachel_data 0,01
faces.c
.extent_attach 0,01
extents.c
.mark_face_cachels_as_clean 0,01
faces.c
.specifier_instance_no_quit 0,01
specifier.c
.kill_specifier_buffer_locals 0,01
specifier.c
.font_instantiate 0,01
objects.c
.qxesprintf 0,01
text.c
.malloc_widget_value 0,01
lwlib.c
.string_index_byte_to_char 0,01
text.h
.update_all_widget_values 0,01
lwlib.c
.get_buffer_or_string_range_byte 0,01
text.c
.copy_text_between_formats 0,01
text.c
.extent_ancestor 0,01
extents-impl.h
.reinit_vars_of_text 0,01
text.c
.space_width 0,01
redisplay.c
.close 0,01
glink.s
.child_setup 0,01
process-unix.c
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Total % for .extent_list_locate = 6,51
Line % Source
808 0,39 Gap_Array *ga = endp ? el->end : el->start;
809 0,25 int left = 0, right = GAP_ARRAY_NUM_ELS (ga);
810 - int oldfoundpos, foundpos;
811 - int found;
812 -
813 0,68 while (left != right)
814 - {
815 - /* RIGHT might not point to a valid extent (i.e.
it's at the end
816 - of the list), so NEWPOS must round down. */
817 0,20 int newpos = (left + right) >> 1;
818 2,10 EXTENT e = EXTENT_GAP_ARRAY_AT (ga, (int) newpos);
819 -
820 1,87 if (endp ? EXTENT_E_LESS (e, extent) : EXTENT_LESS
(e, extent))
821 0,10 left = newpos + 1;
822 - else
823 0,02 right = newpos;
824 - }
825 -
826 - /* Now we're at the beginning of all equal extents. */
827 0,07 found = 0;
828 0,12 oldfoundpos = foundpos = left;
829 0,08 while (foundpos < GAP_ARRAY_NUM_ELS (ga))
830 - {
831 0,24 EXTENT e = EXTENT_GAP_ARRAY_AT (ga, foundpos);
832 0,08 if (e == extent)
833 - {
834 - found = 1;
835 0,01 break;
836 - }
837 0,07 if (!EXTENT_EQUAL (e, extent))
838 0,01 break;
839 0,01 foundpos++;
840 - }
841 0,04 if (foundp)
842 0,02 *foundp = found;
843 0,07 if (found || !endp)
844 0,03 return foundpos;
845 - else
846 0,03 return oldfoundpos;
847 0,01 }
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Thomas Mittelstaedt schrieb:
> ================================================================
> Dear Bug Team!
>
> xemacs is slow on aix. Selecting things with the mouse is sluggish and
> xemacs permanently uses
> more than 30% cpu. I am running it under gdb, when i interrupt via
> control-C, bt shows me the following:
>
> ^C
> Program received signal SIGINT, Interrupt.
> 0xd026359c in poll () from /usr/lib/libc.a(shr.o)
> (gdb) bg
> Undefined command: "bg". Try "help".
> (gdb) bt
> #0 0xd026359c in poll () from /usr/lib/libc.a(shr.o)
> #1 0xd127913c in IoWait () from /usr/lib/libXt.a(shr4.o)
> #2 0xd12798b0 in _XtWaitForSomething () from /usr/lib/libXt.a(shr4.o)
> #3 0xd127b2e4 in XtAppProcessEvent () from /usr/lib/libXt.a(shr4.o)
> #4 0x1016deb0 in emacs_Xt_next_event (emacs_event=0x213be160)
> at event-Xt.c:2813
> #5 0x1013dd08 in event_stream_next_event (event=0x213be160)
> at event-stream.c:2001
> #6 0x1013e06c in next_event_internal (target_event=557572448,
> allow_queued=1)
> at event-stream.c:2065
> #7 0x1013ea38 in Fnext_event (event=557572448, prompt=537384964)
> at event-stream.c:2289
> #8 0x1023b828 in Fcommand_loop_1 () at cmdloop.c:599
> #9 0x1023b4dc in command_loop_1 (unused_dummy=537384964) at cmdloop.c:505
> #10 0x10029188 in condition_case_1 (handlers=537385060,
> bfun=@0x2002b0ac: 0x1023b48c <command_loop_1>, barg=537384964,
> hfun=@0x2002b0a0: 0x1023acfc <cmd_error>, harg=537384964) at eval.c:1946
> #11 0x1023af34 in command_loop_3 () at cmdloop.c:262
> #12 0x1023af94 in command_loop_2 (unused_dummy=537384964) at cmdloop.c:275
> #13 0x10028864 in internal_catch (tag=537465484,
> func=@0x2002b0c4: 0x1023af78 <command_loop_2>, arg=537384964,
> threw=0x0,
> thrown_tag=0x0, backtrace_before_throw=0x0) at eval.c:1552
> #14 0x1023b130 in initial_command_loop (load_me=537384964) at cmdloop.c:313
> ---Type <return> to continue, or q <return> to quit---
> #15 0x100025bc in xemacs_21_5_b28_powerpc_ibm_aix5_2_0_0 (argc=1,
> argv=0x2ff22604, unused_envp=0x0, restart=0) at emacs.c:2668
> #16 0x10003598 in main (argc=1, argv=0x2ff22604, unused_envp=0x2ff2260c)
> at emacs.c:3173
>
> or this:
>
> (gdb) bt
> #0 0x100c4d1c in add_string_to_fstring_db_runes (data=0x2ff218c0,
> str=0x1032b6fc "-", pos=95, min_pos=95, max_pos=-1) at
redisplay.c:4025
> #1 0x100c54e0 in generate_fstring_runes (w=0x200b8800, data=0x2ff218c0,
> pos=95, min_pos=61, max_pos=-1, elt=538957876, depth=2,
> max_pixsize=853,
> findex=1, type=1, offset=0x2ff21944, cur_ext=537384964) at
> redisplay.c:4193
> #2 0x100c5d40 in generate_fstring_runes (w=0x200b8800, data=0x2ff218c0,
> pos=61, min_pos=0, max_pos=-1, elt=539299020, depth=1, max_pixsize=853,
> findex=1, type=1, offset=0x2ff21944, cur_ext=537384964) at
> redisplay.c:4386
> #3 0x100c3b94 in generate_formatted_string_db (format_str=539299764,
> result_str=540987524, w=0x200b8800, dl=0x218eb000, db=0x208feb00,
> findex=1, min_pixpos=6, max_pixpos=859, type=1) at redisplay.c:3823
> #4 0x100c4b08 in generate_modeline (w=0x200b8800, dl=0x218eb000, type=1)
> at redisplay.c:3990
> #5 0x100c6790 in ensure_modeline_generated (w=0x200b8800, type=1)
> at redisplay.c:4541
> #6 0x100c8780 in regenerate_window (w=0x200b8800, start_pos=11147,
> point=13686, type=1) at redisplay.c:5477
> #7 0x100cb580 in redisplay_window (window=537626624, skip_selected=0)
> at redisplay.c:6426
> #8 0x100ccc1c in redisplay_frame (f=0x203e4200, preemption_check=1)
> at redisplay.c:6945
> #9 0x100cd1f0 in redisplay_device (d=0x20537e00, automatic=1)
> at redisplay.c:7026
> ---Type <return> to continue, or q <return> to quit---
> #10 0x100cdad4 in redisplay_without_hooks () at redisplay.c:7101
> #11 0x100cdf04 in redisplay_no_pre_idle_hook () at redisplay.c:7172
> #12 0x100cde5c in redisplay () at redisplay.c:7154
> #13 0x1013ea24 in Fnext_event (event=557572448, prompt=537384964)
> at event-stream.c:2288
> #14 0x1023b828 in Fcommand_loop_1 () at cmdloop.c:599
> #15 0x1023b4dc in command_loop_1 (unused_dummy=537384964) at cmdloop.c:505
> #16 0x10029188 in condition_case_1 (handlers=537385060,
> bfun=@0x2002b0ac: 0x1023b48c <command_loop_1>, barg=537384964,
> hfun=@0x2002b0a0: 0x1023acfc <cmd_error>, harg=537384964) at eval.c:1946
> #17 0x1023af34 in command_loop_3 () at cmdloop.c:262
> #18 0x1023af94 in command_loop_2 (unused_dummy=537384964) at cmdloop.c:275
> #19 0x10028864 in internal_catch (tag=537465484,
> func=@0x2002b0c4: 0x1023af78 <command_loop_2>, arg=537384964,
> threw=0x0,
> thrown_tag=0x0, backtrace_before_throw=0x0) at eval.c:1552
> #20 0x1023b130 in initial_command_loop (load_me=537384964) at cmdloop.c:313
> #21 0x100025bc in xemacs_21_5_b28_powerpc_ibm_aix5_2_0_0 (argc=1,
> argv=0x2ff22604, unused_envp=0x0, restart=0) at emacs.c:2668
> #22 0x10003598 in main (argc=1, argv=0x2ff22604, unused_envp=0x2ff2260c)
> at emacs.c:3173
>
>
> I have also attached the output of truss.
>
> I am running the latest mercurial version. (hg up did not show me any
> changed files as of today)
> Since I would like to use xemacs for serious work, I'd appreciate hints
> for a quick fix.
>
> Regards,
> thomas
>
>
>
> ================================================================
>
> System Info to help track down your bug:
> ---------------------------------------
>
> uname -a: AIX buildaix3 2 5 004B909C4C00
>
> ./configure
>
>
> XEmacs 21.5-b28 "fuki" (+CVS-20071205) configured for
> `powerpc-ibm-aix5.2.0.0'.
>
> Compilation Environment and Installation Defaults:
> Source code location: /localbuild/xemacs-21.5.28-latest
> Installation prefix: /usr/local
> Operating system description file: `s/aix4-2.h'
> Machine description file: `m/ibmrs6000.h'
> Compiler version: gcc (GCC) 4.2.2
> - GCC specs file: specs.
> - Compiler command: gcc -Wall -Wno-switch -Wundef
> -Wsign-compare -Wno-char-subscripts -Wpacked -Wpointer-arith
> -Wunused-parameter -g
> libc version: bos.rte.libc 5.2.0.30
> Relocating allocator for buffers: yes
> GNU version of malloc: yes
>
> Window System:
> Compiling in support for the X window system:
> - X Windows headers location: /usr/X11R6/include
> - X Windows libraries location: /usr/X11R6/lib
> - Handling WM_COMMAND properly.
> Compiling in support for Motif.
> *WARNING* Many versions of Motif are buggy, requiring workarounds.
> You are likely to experience slow redisplay.
> You may need to install vendor patches to Motif.
> See PROBLEMS for more information.
> Using Lucid menubars.
> Using Lucid scrollbars.
> Using Motif dialog boxes.
> Using Motif native widgets.
>
> TTY:
> Compiling in support for ncurses.
>
> Images:
> Compiling in support for GIF images (builtin).
> Compiling in support for XPM images.
> Compiling in support for PNG images.
> Compiling in support for JPEG images.
> Compiling in support for TIFF images.
>
> Sound:
>
> Databases:
> Compiling in support for Berkeley database.
> Compiling in support for GNU DBM.
>
> Internationalization:
>
> Mail:
> Compiling in support for "lockf" mail spool file locking method.
>
> Other Features:
> Inhibiting IPv6 canonicalization at startup.
> Compiling in support for dynamic shared object modules.
> Using the new GC mark algorithms (KKCC).
> WARNING: ---------------------------------------------------------
> WARNING: The new algorithms are experimental. They are enabled by
> WARNING: default for this release. Use `--disable-kkcc' to
> WARNING: turn it off.
> WARNING: ---------------------------------------------------------
> Compiling in support for extra debugging code.
> Compiling in support for runtime error checking.
> WARNING: ---------------------------------------------------------
> WARNING: XEmacs will run noticeably more slowly as a result.
> WARNING: Error checking is on by default for XEmacs beta releases.
> WARNING: ---------------------------------------------------------
>
>
>
> Load-Path Lisp Shadows:
> ----------------------
> (/usr/local/lib/xemacs/xemacs-packages/lisp/xemacs-base/regexp-opt
> /usr/local/share/xemacs-21.5-b28/lisp/regexp-opt
> /usr/local/lib/xemacs/xemacs-packages/lisp/build/build-report
> /usr/local/share/xemacs-21.5-b28/lisp/build-report
> /usr/local/lib/xemacs/xemacs-packages/lisp/xemacs-base/easy-mmode
> /usr/local/share/xemacs-21.5-b28/lisp/easy-mmode)
>
>
> Installed XEmacs Packages:
> -------------------------
> (zenirc ver: 1.16 upstream: 2.112)
> (xwem ver: 1.22 upstream: lg(a)xwem.org--2005/xwem--main--2.1--versionfix-1)
> (xslt-process ver: 1.12 upstream: 1.2.1)
> (xslide ver: 1.09 upstream: 0.2.2)
> (xlib ver: 1.14 upstream: lg(a)xwem.org--2005/xlib--main--2.1--version-0)
> (xetla ver: 1.01 upstream: steve(a)eicq.org--2005/xetla--main--1.1--version-0)
> (xemacs-devel ver: 1.72 upstream: No-Upstream-Ver)
> (xemacs-base ver: 2.03 upstream: No-Upstream-Ver)
> (x-symbol ver: 1.1 upstream: 4.5.1)
> (w3 ver: 1.32 upstream: 4.0pre47)
> (vm ver: 7.22 upstream: 7.17)
> (viper ver: 1.48 upstream: 3.09)
> (view-process ver: 1.13 upstream: 2.4)
> (vhdl ver: 1.21 upstream: 3.33.8)
> (vc-cc ver: 1.22 upstream: No-Upstream-Ver)
> (vc ver: 1.41 upstream: No-Upstream-Ver)
> (tramp ver: 1.32 upstream: 2.0.53)
> (tpu ver: 1.14 upstream: 4.2X)
> (tooltalk ver: 1.15 upstream: No-Upstream-Ver)
> (tm ver: 1.38 upstream: No-Upstream-Ver)
> (time ver: 1.14 upstream: 1.17)
> (textools ver: 1.15 upstream: No-Upstream-Ver)
> (text-modes ver: 1.9 upstream: No-Upstream-Ver)
> (texinfo ver: 1.3 upstream: No-Upstream-Ver)
> (supercite ver: 1.21 upstream: 3.55x3)
> (strokes ver: 1.1 upstream: No-Upstream-Ver)
> (speedbar ver: 1.28 upstream: 0.14beta4)
> (sounds-wav ver: 1.12 upstream: No-Upstream-Ver)
> (sounds-au ver: 1.12 upstream: No-Upstream-Ver)
> (sml-mode ver: 0.12 upstream: 3.9.5)
> (slider ver: 1.15 upstream: 0.3x1)
> (sieve ver: 1.18 upstream: No-Upstream-Ver)
> (sh-script ver: 1.21 upstream: 2.0f)
> (sgml ver: 1.11 upstream: No-Upstream-Ver)
> (semantic ver: 1.2 upstream: 1.4.4)
> (scheme ver: 1.14 upstream: No-Upstream-Ver)
> (sasl ver: 1.16 upstream: 1.14.4)
> (ruby-modes ver: 1.02 upstream: 1.6.8)
> (rmail ver: 1.14 upstream: No-Upstream-Ver)
> (riece ver: 1.22 upstream: 2.0.2)
> (reftex ver: 1.34 upstream: 4.21)
> (re-builder ver: 1.05 upstream: 1.20)
> (python-modes ver: 1.07 upstream: No-Upstream-Ver)
> (psgml-dtds ver: 1.03 upstream: No-Upstream-Ver)
> (psgml ver: 1.44 upstream: 1.3.1)
> (ps-print ver: 1.11 upstream: 6.5.6)
> (prog-modes ver: 2.07 upstream: No-Upstream-Ver)
> (pgg ver: 1.06 upstream: 0.1)
> (perl-modes ver: 1.09 upstream: No-Upstream-Ver)
> (pcomplete ver: 1.04 upstream: 1.1.6)
> (pcl-cvs ver: 1.66 upstream: R-2_9_9)
> (pc ver: 1.28 upstream: No-Upstream-Ver)
> (os-utils ver: 1.37 upstream: No-Upstream-Ver)
> (oo-browser ver: 1.04 upstream: 4.08)
> (ocaml ver: 0.05 upstream: 3.06)
> (net-utils ver: 1.48 upstream: N/A)
> (mmm-mode ver: 1.02 upstream: 0.4.7)
> (misc-games ver: 1.18 upstream: No-Upstream-Ver)
> (mine ver: 1.16 upstream: 1.9)
> (mh-e ver: 1.29 upstream: 7.4.2)
> (mew ver: 1.19 upstream: 1.94.2)
> (mailcrypt ver: 2.14 upstream: 3.5.8)
> (mail-lib ver: 1.76 upstream: No-Upstream-Ver)
> (jde ver: 1.51 upstream: 2.3.3)
> (ispell ver: 1.32 upstream: 3.6)
> (ilisp ver: 1.33 upstream: 5.12.0)
> (igrep ver: 1.14 upstream: 2.111)
> (idlwave ver: 1.32 upstream: 5.1)
> (ibuffer ver: 1.09 upstream: No-Upstream-Ver)
> (hyperbole ver: 1.16 upstream: 4.18)
> (hm--html-menus ver: 1.23 upstream: 5.9)
> (haskell-mode ver: 1.08 upstream: 2.1)
> (gnus ver: 1.9 upstream: 5.10.7)
> (gnats ver: 1.17 upstream: 3.101)
> (general-docs ver: 1.04 upstream: No-Upstream-Ver)
> (games ver: 1.17 upstream: 1.04)
> (fsf-compat ver: 1.15 upstream: No-Upstream-Ver)
> (frame-icon ver: 1.11 upstream: No-Upstream-Ver)
> (fortran-modes ver: 1.05 upstream: No-Upstream-Ver)
> (forms ver: 1.15 upstream: 2.37)
> (footnote ver: 1.16 upstream: 0.18x)
> (eudc ver: 1.39 upstream: 1.32)
> (eterm ver: 1.17 upstream: No-Upstream-Ver)
> (eshell ver: 1.1 upstream: 2.4.1)
> (escreen ver: 1.01 upstream: 1.16)
> (erc ver: 0.21 upstream: Version 5.1.2 Revision: 1.796.2.6)
> (emerge ver: 1.11 upstream: No-Upstream-Ver)
> (elib ver: 1.11 upstream: 1.0)
> (eieio ver: 1.05 upstream: 0.17)
> (efs ver: 1.33 upstream: 1.23)
> (edt ver: 1.13 upstream: No-Upstream-Ver)
> (edit-utils ver: 2.34 upstream: No-Upstream-Ver)
> (ediff ver: 1.62 upstream: 2.75)
> (edebug ver: 1.21 upstream: No-Upstream-Ver)
> (ecrypto ver: 0.2 upstream: 2.0)
> (ecb ver: 1.22 upstream: 2.31)
> (docbookide ver: 0.07000000000000001 upstream: 0.1)
> (dired ver: 1.17 upstream: 7.13)
> (dictionary ver: 1.16 upstream: 1.8)
> (debug ver: 1.17 upstream: No-Upstream-Ver)
> (crisp ver: 1.15 upstream: 1.34)
> (cookie ver: 1.15 upstream: No-Upstream-Ver)
> (clearcase ver: 1.1 upstream: /main/laptop/165)
> (cc-mode ver: 1.45 upstream: 5.30.10)
> (calendar ver: 1.23 upstream: No-Upstream-Ver)
> (calc ver: 1.26 upstream: 2.02fX3)
> (c-support ver: 1.22 upstream: No-Upstream-Ver)
> (build ver: 1.14 upstream: 2.02)
> (bbdb ver: 1.29 upstream: 2.34)
> (auctex ver: 1.46 upstream: 11.55)
> (apel ver: 1.32 upstream: 10.6)
> (ada ver: 1.14 upstream: 2.27)
> (Sun ver: 1.16 upstream: No-Upstream-Ver)
>
>
>
> Installed Modules:
> -----------------
>
>
> Features:
> --------
>
> (mail-abbrevs xemacsbug shadow sendmail rfc822 symbol-syntax tags
> etags hideif cc-mode cc-fonts cc-menus cc-cmds cc-styles cc-align
> cc-engine cc-vars cc-defs regexp-opt efs-cu comint compile timer-funcs
> uniquify cal-move cal-xemacs calendar time gnuserv psvn wid-edit ring
> overlay diff-mode advice advice-preload pp elp ediff-util ediff-merg
> ediff-diff ediff-wind ediff-tbar ediff-mult ediff-help ediff-init
> dired-faces dired-xemacs dired blink-cursor lazy-lock font-lock
> cus-face mwheel edmacro zenirc-autoloads xwem-autoloads
> xslt-process-autoloads xslide-autoloads xlib-autoloads xetla-autoloads
> xemacs-devel-autoloads xemacs-base-autoloads x-symbol-autoloads
> w3-autoloads vm-autoloads viper-autoloads view-process-autoloads
> vhdl-autoloads vc-cc-autoloads vc-autoloads tramp-autoloads
> tpu-autoloads tooltalk-autoloads tm-autoloads time-autoloads
> textools-autoloads text-modes-autoloads texinfo-autoloads
> supercite-autoloads strokes-autoloads speedbar-autoloads
> sounds-wav-autoloads sounds-au-autoloads sml-mode-autoloads
> slider-autoloads sieve-autoloads sh-script-autoloads sgml-autoloads
> semantic-autoloads scheme-autoloads sasl-autoloads
> ruby-modes-autoloads rmail-autoloads riece-autoloads reftex-autoloads
> re-builder-autoloads python-modes-autoloads psgml-dtds-autoloads
> psgml-autoloads ps-print-autoloads prog-modes-autoloads pgg-autoloads
> perl-modes-autoloads pcomplete-autoloads pcl-cvs-autoloads
> pc-autoloads os-utils-autoloads oo-browser-autoloads ocaml-autoloads
> net-utils-autoloads mmm-mode-autoloads misc-games-autoloads
> mine-autoloads mh-e-autoloads mew-autoloads mailcrypt-autoloads
> mail-lib-autoloads jde-autoloads ispell-autoloads ilisp-autoloads
> igrep-autoloads idlwave-autoloads ibuffer-autoloads
> hyperbole-autoloads hm--html-menus-autoloads haskell-mode-autoloads
> gnus-autoloads gnats-autoloads general-docs-autoloads games-autoloads
> fsf-compat-autoloads frame-icon-autoloads fortran-modes-autoloads
> forms-autoloads footnote-autoloads eudc-autoloads eterm-autoloads
> eshell-autoloads escreen-autoloads erc-autoloads emerge-autoloads
> elib-autoloads eieio-autoloads efs-autoloads edt-autoloads
> edit-utils-autoloads ediff-autoloads edebug-autoloads
> ecrypto-autoloads ecb-autoloads docbookide-autoloads dired-autoloads
> dictionary-autoloads debug-autoloads crisp-autoloads cookie-autoloads
> clearcase-autoloads cc-mode-autoloads calendar-autoloads
> calc-autoloads c-support-autoloads build-autoloads bbdb-autoloads
> auctex-autoloads apel-autoloads ada-autoloads Sun-autoloads
> modules-autoloads auto-autoloads auto-show fontl-hooks code-cmds
> gutter-items menubar-items x-menubar mode-motion mouse behavior itimer
> auto-save lisp-mode easymenu easy-mmode iso8859-1 page buff-menu
> lib-complete loadhist cus-file derived newcomment rsz-minibuf env
> text-props frame obsolete cus-start custom widget cl-extra cl cl-19
> packages backquote unicode lucid-scrollbars cut-buffer lucid-menubars
> motif-dialogs x c-balloon-help tty-frames tty toolbar scrollbar
> unix-processes multicast network-streams subprocesses modules
> menu-accelerator-support menubar berkeley-db dbm md5 xemacs gutter
> tiff png gif jpeg xpm xbm lisp-float-type file-coding aix dialog
> devices window-system base64)
>
>
> Recent keystrokes:
> -----------------
>
> button1 button1up button2 button2up button1 button1up
> C-x b m z t h TAB RET button5 button5up button5 button5up
> button1 button1up button1 button1up M-w C-x d C-g g
> r e p C-x u M-x g r e p RET C-y SPC * . c p p RET button1
> button1up button2 button2up button1 button1up button2
> button2up f5 f5 button1 button1up button4 button4up
> button4 button4up button4 button4up button4 button4up
> button1 button1up button4 button4up button1 button1up
> SPC / / SPC f i x m e ! ! C-x C-s button1 button1up
> button1 button1up button1 button1up button1 button1up
> button1 button1up button1 button1up button1 button1up
> misc-user
>
>
> Recent messages (most recent first):
> -----------------------------------
>
> Auto save file for draft message exists; consider M-x mail-recover
> Warning:
>
> Defaulting to the GNU Emacs-derived `sendmail.el' mail client. This
> facility,
> while part of base XEmacs, is heinously underfeatured, and not going to get
> better in the medium term. We include it so that bug reports work without
> packages; we suggest that you choose and/or install one of the other mail
> clients from packages if you're doing something other than M-x
> report-xemacs-bug , or even if you are reporting bugs regularly.
>
> To choose a package from those installed, click on "Options" ->
> "Internet" -> "Compose Mail With ..." and decide on one from
the
> list. Gnus and VM are full-featured and have active user communities.
>
> To disable this warning and stick with the old behavior, you can explicitly
> initialize `mail-user-agent' to 'sendmail-user-agent .
> Loading xemacsbug...done
> Loading xemacsbug...
> Wrote
>
/localbuild/source/V9_UNICODE_RESTRUCTURE/c++/libraries/PSolCore/loader/mzthreadsafe.cpp
> Enter Hide-Ifdef mode
> Quit
> Enter Hide-Ifdef mode
> Enter Hide-Ifdef mode
> Enter Hide-Ifdef mode
> Wrote
>
/localbuild/source/V9_UNICODE_RESTRUCTURE/c++/libraries/PSolCore/loader/mzthreadsafe.cpp
> Quit
> Wrote
>
/localbuild/source/V9_UNICODE_RESTRUCTURE/c++/libraries/PSolCore/loader/mzthreadsafe.cpp
> Quit
> Wrote
>
/localbuild/source/V9_UNICODE_RESTRUCTURE/c++/libraries/PSolCore/loader/mzthreadsafe.cpp
> File changed on disk: "File reverted",
>
"/localbuild/source/V9_UNICODE_RESTRUCTURE/c++/libraries/PSolCore/loader/mzthreadsafe.cpp"
> Enter Hide-Ifdef mode
> mzthreadsafe.cpp changed on disk; really edit the buffer? (y, n, r or C-h)
> Loading userlock...done
> Loading userlock...
>
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> XEmacs-Beta mailing list
> XEmacs-Beta(a)xemacs.org
>
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta
>
>
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org