Hello,

I tried this with Sid version, Brandens preview packages and Daniels
development tree. In all cases, I noticed a significantly high
(gigantic) CPU usage when applications tried to load the Unicode
equivalents of their fonts. For example, Icewm and XChat1.9 need 5..15
seconds (depending on the theme) to start. Once they started, they work
fine. And normaly, with an latin locale, they start about 10 times
faster. So could anyone enlighten me about what is going on?
Example from the strace log:


open("/usr/X11R6/lib/X11/locale/locale.dir", O_RDONLY) = 6
fstat64(6, {st_mode=S_IFREG|0644, st_size=28105, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x4000c000
read(6, "#\t$Xorg: locale.dir,v 1.3 2000/08/17 19:46:48 cpqbld Exp 
$\n#\n#\tThis file contains locale database file names\n#\tThe first"..., 4096) 
= 4096
read(6, 
"LC_LOCALE\t\t\tfr_CA.ISO8859-1\niso8859-15/XLC_LOCALE\t\t\tfr_CA.ISO8859-15\niso8859-1/XLC_LOCALE\t\t\tfr_CH.ISO8859-1\niso8859-15/X"...,
 4096) = 4096
read(6, 
"VISCII\niso8859-1/XLC_LOCALE\t\t\twa_BE.ISO8859-1\niso8859-15/XLC_LOCALE\t\t\twa_BE.ISO8859-15\nmicrosoft-cp1255/XLC_LOCALE\t\tyi_U"...,
 4096) = 4096
read(6, 
"TF-8/XLC_LOCALE\t\t\tlo_LA.UTF-8\nen_US.UTF-8/XLC_LOCALE\t\t\tlt_LT.UTF-8\nen_US.UTF-8/XLC_LOCALE\t\t\tlv_LV.UTF-8\nen_US.UTF-8/XLC_"...,
 4096) = 4096
read(6, 
"n_IE.ISO8859-15\niso8859-1/XLC_LOCALE:\t\t\ten_JM.ISO8859-1\niso8859-1/XLC_LOCALE:\t\t\ten_NZ.ISO8859-1\niso8859-1/XLC_LOCALE:\t\t\t"...,
 4096) = 4096
read(6, 
"SO8859-15\niso8859-1/XLC_LOCALE:\t\t\tnn_NO.ISO8859-1\niso8859-1/XLC_LOCALE:\t\t\tnn_NO.ISO8859-15\niso8859-1/XLC_LOCALE:\t\t\tny_NO"...,
 4096) = 4096
close(6)                                = 0
munmap(0x4000c000, 4096)                = 0
writev(3, [{"1\2\21\0\1\0<\0", 8}, 
{"-adobe-helvetica-bold-r-normal--12-120-75-75-p-70-iso10646-1", 60}], 2) = 68
read(3, 
"\1\361\r\t\20\0\0\0\1\0c\10\220md\10\0\20\0\0\0\0\0\0\220md\10<\0\0\0", 32) = 
32
readv(3, 
[{"<-adobe-helvetica-bold-r-normal--12-120-75-75-p-70-iso10646-1\0\0\0", 64}, 
{"", 0}], 2) = 64
writev(3, [{"1\2\21\0\1\0<\0", 8}, 
{"-adobe-helvetica-bold-r-normal--12-120-75-75-p-70-iso10646-1", 60}], 2) = 68
read(3, 
"\1\361\16\t\20\0\0\0\1\0c\10\220md\10\0\20\0\0\0\0\0\0\220md\10<\0\0\0", 32) = 
32
readv(3, 
[{"<-adobe-helvetica-bold-r-normal--12-120-75-75-p-70-iso10646-1\0\0\0", 64}, 
{"", 0}], 2) = 64
writev(3, [{"2\2\21\0d\0<\0", 8}, 
{"-adobe-helvetica-bold-r-normal--12-120-75-75-p-70-iso10646-1", 60}], 2) = 68
read(3, 
"\1<\17\tL\0\0\0\376\377\1\0\0\0\376\377\370\377\0\0\251\1\0\0\1\0\r\0\r\0\17\0",
 32) = 32
read(3, "\5\0\0\0007 Ad\0\0\377\0\0\0\33\0\0\0\"\0\v\0\3\0\1\0\0\0", 28) = 28
read(3, "[EMAIL 
PROTECTED];\0\0\0x\0\0\0\264\0\0\0K\0\0\0\265\0\0\0K\0\0\0\266\0\0\0L\1\0\0\267\0\0\0F\0\0\0\270\0\0\0\332\0\0\0\271"...,
 216) = 216

Etc... And:

# grep iso10646 log | wc -l
    1526

Too many lookups, IMHO. Same with latin1 locale:

grep 8859 log2 | wc -l
    114

Gruss/Regards,
Eduard.
-- 
>F�r einen neuen Monitor bitte hier ==>[X]<== einen Nagel einschlagen.
jetzt ist ein Nagel in der Wand, und er Beamer stahlt weiter..
(ja, richtig flache Witze...)

Reply via email to