https://bugzilla.novell.com/show_bug.cgi?id=391069 Summary: bad gnuplot_x11 performace with utf-8 Product: openSUSE 10.3 Version: Final Platform: i686 OS/Version: Other Status: NEW Severity: Normal Priority: P5 - None Component: X11 Applications AssignedTo: bnc-team-screening@forge.provo.novell.com ReportedBy: koenig@linux.de QAContact: sndirsch@novell.com Found By: --- gnuplot shows horrible performace with utf-8 locate! try LC_CTYPE=de_DE.utf-8 gnuplot plot sin(x) t "Foo" this will show a message gnuplot_x11: Some character sets not available and it takes about 1 second to show the simple graph on a 2+ GHz system. the cpu time is taken by the Xserver, not by gnuplot_x11 itself. gnuplot_x11 does some X11 font requests which makes the Xserver quite busy. see a small part of strace output from gnuplot_x11 below (there are ~1400 such font requests for this single plot command). you can trigger the same operations if you slowly resize the gnuplot window (with a window manager which does dynamic window resizing) -- the Xserver gets very busy and resizing/refresing is damn slow. running gnuplot with LC_CTYPE=C or LC_CTYPE=de_DE avoids that "character sets not available" message and gnuplot is fast again. gnuplot on 11.0-factory does not show that problem anymore (using x86_64 on 11.0, but this shouldn't matter?!) here some first examples of the font requests of gnuplot_x11 for _every_ redraw: writev(3, [{"1\0\7\0\1\0\22\0sazanami-ISO8859-1\0\0", 28}], 1) = 28 writev(3, [{"1\0\7\0\1\0\24\0sazanami-*-ISO8859-1", 28}], 1) = 28 writev(3, [{"1\0\10\0\1\0\26\0sazanami-*-*-ISO8859-1\0\0", 32}], 1) = 32 writev(3, [{"1\0\10\0\1\0\30\0sazanami-*-*-*-ISO8859-1", 32}], 1) = 32 writev(3, [{"1\0\t\0\1\0\32\0sazanami-*-*-*-*-ISO8859-1\0\0", 36}], 1) = 36 writev(3, [{"1\0\t\0\1\0\34\0sazanami-*-*-*-*-*-ISO8859-1", 36}], 1) = 36 writev(3, [{"1\0\n\0\1\0\36\0sazanami-*-*-*-*-*-*-ISO8859-1\0\0", 40}], 1) = 40 writev(3, [{"1\0\n\0\1\0 \0sazanami-*-*-*-*-*-*-*-ISO8859-1", 40}], 1) = 40 writev(3, [{"1\0\v\0\1\0\"\0sazanami-*-*-*-*-*-*-*-*-ISO8859-1\0\0", 44}], 1) = 44 writev(3, [{"1\0\v\0\1\0$\0sazanami-*-*-*-*-*-*-*-*-*-ISO8859-1", 44}], 1) = 44 writev(3, [{"1\0\f\0\1\0&\0sazanami-*-*-*-*-*-*-*-*-*-*-ISO8859-1\0\0", 48}], 1) = 48 writev(3, [{"1\0\f\0\1\0(\0sazanami-*-*-*-*-*-*-*-*-*-*-*-ISO8859-1", 48}], 1) = 48 writev(3, [{"1\0\r\0\1\0*\0sazanami-*-*-*-*-*-*-*-*-*-*-*-*-ISO8859-1\0\0", 52}], 1) = 52 writev(3, [{"1\0\6\0\1\0\20\00016 mincho-medium", 24}], 1) = 24 writev(3, [{"1\0\t\0\1\0\32\00016 mincho-medium-ISO8859-1\0\0", 36}], 1) = 36 writev(3, [{"1\0\t\0\1\0\34\00016 mincho-medium-*-ISO8859-1", 36}], 1) = 36 writev(3, [{"1\0\n\0\1\0\36\00016 mincho-medium-*-*-ISO8859-1\0\0", 40}], 1) = 40 writev(3, [{"1\0\n\0\1\0 \00016 mincho-medium-*-*-*-ISO8859-1", 40}], 1) = 40 writev(3, [{"1\0\v\0\1\0\"\00016 mincho-medium-*-*-*-*-ISO8859-1\0\0", 44}], 1) = 44 writev(3, [{"1\0\v\0\1\0$\00016 mincho-medium-*-*-*-*-*-ISO8859-1", 44}], 1) = 44 writev(3, [{"1\0\f\0\1\0&\00016 mincho-medium-*-*-*-*-*-*-ISO8859-1\0\0", 48}], 1) = 48 writev(3, [{"1\0\f\0\1\0(\00016 mincho-medium-*-*-*-*-*-*-*-ISO8859-1", 48}], 1) = 48 writev(3, [{"1\0\r\0\1\0*\00016 mincho-medium-*-*-*-*-*-*-*-*-ISO8859-1\0\0", 52}], 1) = 52 writev(3, [{"1\0\r\0\1\0,\00016 mincho-medium-*-*-*-*-*-*-*-*-*-ISO8859-1", 52}], 1) = 52 writev(3, [{"1\0\16\0\1\0.\00016 mincho-medium-*-*-*-*-*-*-*-*-*-*-ISO8859-1\0\0", 56}], 1) = 56 writev(3, [{"1\0\16\0\1\0000\00016 mincho-medium-*-*-*-*-*-*-*-*-*-*-*-ISO8859-1", 56}], 1) = 56 writev(3, [{"1\0\6\0\1\0\16\0verdana-medium\0\0", 24}], 1) = 24 writev(3, [{"1\0\10\0\1\0\30\0verdana-medium-ISO8859-1", 32}], 1) = 32 writev(3, [{"1\0\t\0\1\0\32\0verdana-medium-*-ISO8859-1\0\0", 36}], 1) = 36 -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.