Am 21.06.2011 09:38, schrieb Michael Höhne:
Am Mon, 20 Jun 2011 19:22:49 +0200 schrieb Tao te Puh<taotepuh@e-sol.utions.de>:
Am 20.06.2011 19:05, schrieb Philipp Thomas:
* Tao te Puh (taotepuh@e-sol.utions.de) [20110618 16:59]:
Es ist die Lokalisierung !
Das ist bekannt! Mit der Unterstützung für Multibyte-Lokales (also z.B. alles was utf8 zur Zeichenkodierung verwendet) wird es deutlich langsamer.
Warum es so ist, mag mir aber nicht so recht einleuchten. Unwissend wie ich bin, stelle ich mir vor, dass da einfach Bytes miteinander verglichen werden. Ob das Byte dabei ein "ü" oder lediglich ein "u" repräsentiert, sollte doch egal sein. Aber vermutlich ist das alles viel komplizierter.
Ein Zeichen kann aus 1-4 (theoretisch sogar bis zu 8) Bytes bestehen. Du musst also jede Bytefolge erst einmal auseinandernehmen um einen Zeichenvergleich machen zu können. Zwei Bytefolgen mit gleicher Länge können ja durchaus unterschiedlich viele Zeichen beinhalten.
Danke für die Ausführungen. Aber erklärt das wirklich den immensen Laufzeitunterschied zur Lokalisierung "C"? Der beträgt ja immerhin Faktoren von 15 und größer. Und warum konnte oS 9.3 das besser? -- Herzliche Grüße Tao -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org