> > > Jan Hubicka wrote: > > >>> On Fri, 25 Jun 2010, it was written: > > >>> There sure is something in 4.5. I've seen a 1-10% slowdown at the GiNaC > > >>> (a computer algebra library) benchmark suite after switching from 4.4 to > > >>> 4.5 on x86_64 when compiling with -O2. And there hasn't been a > > >>> measurable > > >>> performance differences between 4.3 and 4.4. > > >> > > >> FP intensive code could be also affected by: > > > > > > This code isn't using floating-point. > > > > Hmm, building ginac with current 4.5 branch I get: > > /bin/sh ../libtool --tag=CXX --mode=compile > > /abuild/jh/gcc-4.5-nopatch/bin/g++ -DHAVE_CONFIG_H -I. -I../../ginac > > -I../config -I/usr/local/include -g -O2 -MT function.lo -MD -MP -MF > > .deps/function.Tpo -c -o function.lo ../../ginac/function.cpp > > libtool: compile: /abuild/jh/gcc-4.5-nopatch/bin/g++ -DHAVE_CONFIG_H -I. > > -I../../ginac -I../config -I/usr/local/include -g -O2 -MT function.lo -MD > > -MP -MF .deps/function.Tpo -c ../../ginac/function.cpp -fPIC -DPIC -o > > .libs/function.o > > ../../ginac/function.cpp: In member function âGiNaC::ex > > GiNaC::function::power(const GiNaC::ex&) constâ: > > ../../ginac/function.cpp:1800:15: error: expected type-specifier > > ../../ginac/function.cpp:1800:15: error: expected â)â > > ../../ginac/function.cpp:1801:72: error: conversion from âint*â to > > âGiNaC::exâ is ambiguous > > ../../ginac/ex.h:279:1: note: candidates are: GiNaC::ex::ex(long unsigned > > int) <near match> > > ../../ginac/ex.h:273:1: note: GiNaC::ex::ex(long int) <near > > match> > > ../../ginac/ex.h:267:1: note: GiNaC::ex::ex(unsigned int) > > <near match> > > ../../ginac/ex.h:261:1: note: GiNaC::ex::ex(int) <near > > match> > > Hi, > I got arround by just replacing the offending line by abort() that seems to > get me far enough > to build the testsuite. One thing I noticed is that compile time prolonged > excessively to about > 10 minutes. It seems to be var tracking > > 39609 11.3093 cc1plus canonicalize_values_star > 33469 9.5562 cc1plus loc_cmp > 22206 6.3403 cc1plus set_slot_part > 15798 4.5107 cc1plus rtx_equal_p > 14479 4.1341 cc1plus htab_find_with_hash > 10461 2.9869 cc1plus htab_find_slot_with_hash > 7268 2.0752 cc1plus find_loc_in_1pdv > 6718 1.9181 cc1plus cselib_expand_value_rtx_1 > 6619 1.8899 libc-2.11.1.so strcmp > 6193 1.7682 cc1plus htab_expand > 6020 1.7188 cc1plus check_changed_vars_0 > 5797 1.6552 cc1plus htab_traverse_noresize > 5615 1.6032 cc1plus htab_find_with_hash > 4757 1.3582 cc1plus vt_expand_loc_callback > 4529 1.2931 libginac-1.5.so.0.1.2 GiNaC::basic::compare(GiNaC::basic > const&) const > 4497 1.2840 libc-2.11.1.so _int_malloc > 3879 1.1075 as /usr/bin/as > 3703 1.0573 cc1plus variable_htab_eq > 3698 1.0559 cc1plus insert_into_intersection > 3287 0.9385 cc1plus emit_note_insn_var_location
(it is regression at 4.5 branch, forgot to mention) Honza > > Honza