Stringvergleich - Optimierung

Stringvergleich - Optimierung

am 06.07.2006 16:09:45 von Wolfgang Fellger

Hallo,

die Aufgabe: Prüfe, ob $Anfang die ersten Zeichen von $String sind. Das ganze
muss Groß-/Kleinschreibung berücksichtigen (Gemeint ist "bla" == "BLA"). Muss
für Umlaute nicht funktionieren, ASCII reicht.

Ich würde das ja kurz selber schreiben, fürchte aber dass jeder eigene Code um
Längen langsamer ausgeführt wird als ein Bibliotheksruf.
Sehe ich das richtig, dass es für die von mir benötigte Funktionalität keine
fertige Bibliotheksfunktion gibt? Wenn doch, möge man mir die Tomaten von den
Augen nehmen, danke.

Nach Tests komme ich dann auf die folgenden beiden Kandidaten:

A) stripos($String, $Anfang)===0
B) strcasecmp(substr($String,0,strlen($Anfang)), $Anfang)==0;

A) sieht primitiv aus und skaliert natürlich auch sehr schlecht, allerdings
werden die zu erwartenden Strings auch in der Regel kurz bis sehr kurz sein.
Bis zu einer Länge von ca. 20 Zeichen ist es sogar einen Tick schneller als B).
Letzteres lässt sich von langen Strings natürlich kaum verlangsamen.

Hat eventuell noch jemand eine bessere Idee?

Danke im Voraus,
--
Wolfgang Fellger

Re: Stringvergleich - Optimierung

am 06.07.2006 17:50:15 von Thomas Grabietz

Hallo Wolfgang

schau dir doch mal preg_match() an.

http://de2.php.net/manual/en/function.preg-match.php

in Zusammenhang mit diesem Tutorial

http://de.selfhtml.org/perl/sprache/regexpr.htm

Sollte es schon nach 3 gelesenen Absätzen kein Problem mehr für dich sein

MfG

Tom

Re: Stringvergleich - Optimierung

am 06.07.2006 17:55:02 von Daniel Fett

Thomas Grabietz wrote:
> Hallo Wolfgang
>
> schau dir doch mal preg_match() an.
>
> http://de2.php.net/manual/en/function.preg-match.php
>
> in Zusammenhang mit diesem Tutorial
>
> http://de.selfhtml.org/perl/sprache/regexpr.htm
>
> Sollte es schon nach 3 gelesenen Absätzen kein Problem mehr für dich sein

Ohne es getestet zu haben, glaube ich nicht, dass das schneller ist.

Daniel
--
Zum Thema "Esoterik": http://www.danielfett.de/df_artikel_astrologie
Kleines RegEx-Tutorial: http://www.danielfett.de/df_artikel_regex
Sicherheit in PHP+MySQL: http://www.danielfett.de/df_artikel_sicherheit

Re: Stringvergleich - Optimierung

am 06.07.2006 18:07:35 von Wolfgang Fellger

Thomas Grabietz schrieb:

>schau dir doch mal preg_match() an.

Reguläre Ausdrücke wenns um Geschwindigkeit geht? Nun gut, angeschaut hab ich's
mir tatsächlich noch nicht...

*mess*

Hmm, wie erwartet: Ein

preg_match("/^$Anfang/i", $String)

ist (immerhin nur) rund 10% langsamer als die strcasecmp-Methode. Das ist,
solange ich $Anfang nicht auch noch escapen muss...

--
Wolfgang Fellger

Re: Stringvergleich - Optimierung

am 06.07.2006 19:15:34 von Thomas Grabietz

Sorry, da hatte ich doch glatt überlesen, dass es um Geschwindigkeit geht...

Re: Stringvergleich - Optimierung

am 06.07.2006 21:31:58 von Niels Braczek

Wolfgang Fellger schrieb:
> Thomas Grabietz schrieb:
>=20
>>schau dir doch mal preg_match() an.
>=20
> Reguläre Ausdrücke wenns um Geschwindigkeit geht? Nun gut, angescha=
ut hab ich's
> mir tatsächlich noch nicht...
>=20
> *mess*
>=20
> Hmm, wie erwartet: Ein
>=20
> preg_match("/^$Anfang/i", $String)
>=20
> ist (immerhin nur) rund 10% langsamer als die strcasecmp-Methode. Das i=
st,
> solange ich $Anfang nicht auch noch escapen muss...

Das kann sich durchaus zugunsten der RegExp verschieben, wenn die Engine
bereits gestartet ist (das passiert nur einmal pro Skript). Wenn man
also sowieso RegExp benötigt, ist die preg_match-Variante wahrscheinlic=
h
nicht langsamer (ich habe das jetzt aber nicht nachgemessen).

MfG
Niels

--=20
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------

Re: Stringvergleich - Optimierung

am 06.07.2006 22:28:19 von Wolfgang Fellger

Niels Braczek schrieb:

>Das kann sich durchaus zugunsten der RegExp verschieben, wenn die Engine
>bereits gestartet ist (das passiert nur einmal pro Skript).

Die Schleife für den Benchmark rotiert bereits 100.000 mal, da sollte der
Effekt doch drin sein(?) Das andere Problem ist eben das passende Escapen von
$Anfang, ich kann nicht garantieren dass dies immer Regex-Sonderzeichen-frei
bleibt.

Leider scheint die Geschwindigkeit doch sehr stark vom Overhead des
Funktionsaufrufs selbst abzuhängen, inline ist die Prüfung mal eben 30%
schneller. Naja, muss ich sehen was ich mache und Fallentscheidungen treffen.

preg_match schlägt sich tatsächlich erstaunlich gut, ich werde diese
Alternative im Auge behalten.
Danke!

--
Wolfgang Fellger

Re: Stringvergleich - Optimierung

am 06.07.2006 23:26:29 von Niels Braczek

Wolfgang Fellger schrieb:
> Niels Braczek schrieb:
>=20
>>Das kann sich durchaus zugunsten der RegExp verschieben, wenn die Engin=
e
>>bereits gestartet ist (das passiert nur einmal pro Skript).
>=20
> Die Schleife für den Benchmark rotiert bereits 100.000 mal, da sollte=
der
> Effekt doch drin sein(?)

Korrekt wäre die Messung, wenn *davor* bereits ein preg_match()
ausgeführt würde.

> Das andere Problem ist eben das passende Escapen von
> $Anfang, ich kann nicht garantieren dass dies immer Regex-Sonderzeichen=
-frei
> bleibt.

Klar kostet preg_quote() auch Zeit.

> Leider scheint die Geschwindigkeit doch sehr stark vom Overhead des
> Funktionsaufrufs selbst abzuhängen, inline ist die Prüfung mal eben=
30%
> schneller. Naja, muss ich sehen was ich mache und Fallentscheidungen tr=
effen.

Es scheint noch eine Menge anderer Einflussgrößen zu geben. Ich erinn=
ere
mich an einen Schleifentest (foreach vs. for usw.), den ich mal gemacht
hatte. Auf unterschiedlichen Maschinen (Betriebssystemen) aber
identischen PHP-Versionen wichen die Ergebnisse teilweise erheblich
voneinander ab. Seitdem ist Performanz für mich nur noch eion
nachrangiges Kriterium. Wesentlich wichtiger ist die Les- und Wartbarkeit=


MfG
Niels

--=20
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------

Re: Stringvergleich - Optimierung

am 07.07.2006 09:55:06 von thornythegod

Wolfgang Fellger schrieb:

> Hat eventuell noch jemand eine bessere Idee?

Ja: Ich möchte Beispielcode und Daten, damit man sich überhaupt
vorstellen kann, worum es geht.
Quellcode verlangt normalerweise nach einer absoluten Les- und
Wartbarkeit. Wenn es aber nur im Performance geht, muß man auf
Feinheiten und Spezialitäten achten - da ist jedes Zeichen wichtig und
Lesbarkeit (leider) zweitrangig.

Am besten ist natürlich, wenn du den orginalen Relevanten
Code-Ausschnitt veröffentlichst (- natürlich nur wenn möglich) und dazu
Testdaten abgibst.

Gruß,
Torsten

Re: Stringvergleich - Optimierung

am 07.07.2006 09:56:03 von thornythegod

Niels Braczek schrieb:

> Es scheint noch eine Menge anderer Einflussgrößen zu geben. Ich erinnere
> mich an einen Schleifentest (foreach vs. for usw.), den ich mal gemacht
> hatte. Auf unterschiedlichen Maschinen (Betriebssystemen) aber
> identischen PHP-Versionen wichen die Ergebnisse teilweise erheblich
> voneinander ab.

Das kenne ich. Wie hast du getestet?

> Wesentlich wichtiger ist die Les- und Wartbarkeit.

Und ich dachte schon, ich bin alleine mit dieser Meinung auf der Welt :P

Gruß,
Torsten

Re: Stringvergleich - Optimierung

am 07.07.2006 12:01:04 von Ulf Kadner

Torsten Zühlsdorff wrote:


> Wartbarkeit. Wenn es aber nur im Performance geht, muß man auf
> Feinheiten und Spezialitäten achten - da ist jedes Zeichen wichtig und
> Lesbarkeit (leider) zweitrangig.

Mir ist bisher noch keine derartige Notwendigkeit begegnet! Code der für
PHP-Begriffe "schnell" sein soll hat nichts mit schlechter Wartbarkeit
zu tun! Erklär das mal.

OK jetzt könntest Du sagen, das Arbeiten mit Objekten generell mehr
Resourcen verbraucht, als alles in Funktionen zu klatschen. Aber das war
ja wohl nicht das Thema.

> Am besten ist natürlich, wenn du den orginalen Relevanten
> Code-Ausschnitt veröffentlichst (- natürlich nur wenn möglich)

Nee er hat doch den Sourcecode nicht, sondern nur das Kompilat. ;-)

MfG, Ulf

Re: Stringvergleich - Optimierung

am 07.07.2006 12:49:24 von thornythegod

Ulf Kadner schrieb:

>> Wartbarkeit. Wenn es aber nur im Performance geht, muß man auf
>> Feinheiten und Spezialitäten achten - da ist jedes Zeichen wichtig und
>> Lesbarkeit (leider) zweitrangig.
>
> Mir ist bisher noch keine derartige Notwendigkeit begegnet! Code der für
> PHP-Begriffe "schnell" sein soll hat nichts mit schlechter Wartbarkeit
> zu tun! Erklär das mal.

Ich habe mich ein wenig allgemeiner gefaßt. Desweiteren habe ich gesagt,
dass Lesbarkeit zweitrangig ist, was nicht zwangsläufig zu schlechter
Wartbarkeit führt.

Die Hauptaussage liegt in den "Feinheiten". Man kennt es vielleicht
noch, dass man in anderen Sprachen anstelle der Quadradwurzel zu ziehen,
lieber mit 1/2 quadriert, da diese Operation schneller ausgeführt wird.
Da wir aber nicht wissen, was ansonsten noch so geschieht, kann man auch
nichts sagen.

Ausgehend von der Aussage, dass da auch noch ganz viele
Schleifendurchgänge sind, könnte sogar eine Verwendung von Referenzen
bei den Variablen die Geschwindigkeit erhöhen. Hätte er PHP3 soll er
alle Kommentare rauswerfen usw usw ;)

> OK jetzt könntest Du sagen, das Arbeiten mit Objekten generell mehr
> Resourcen verbraucht, als alles in Funktionen zu klatschen. Aber das war
> ja wohl nicht das Thema.
>
>> Am besten ist natürlich, wenn du den orginalen Relevanten
>> Code-Ausschnitt veröffentlichst (- natürlich nur wenn möglich)
>
> Nee er hat doch den Sourcecode nicht, sondern nur das Kompilat. ;-)

Das wäre allerdings auch noch eine Beschleunigungsmethode, an die ich
noch gar nicht gedacht hatte.

Gruß,
Torsten

Re: Stringvergleich - Optimierung

am 07.07.2006 14:32:33 von Wolfgang Fellger

Torsten Zühlsdorff schrieb:

>Wenn es aber nur im Performance geht

Ohje, da hab ich wohl ein paar Missverständnisse ausgelöst.

Es gibt offenbar noch keine fertige Funktion für meine Aufgabe, deshalb soll
das Ergebnis eine allgemeine Funktion sein, die man in der
Hilfsfunktionbibliothek ablegen kann.
Da nun anscheinend schon der Funktionsaufruf teuer ist werde ich das an den
nötigen Stellen inlinen, ansonsten ruft man das einfach auf und ist glücklich.
Mir gings jetzt nur darum nicht den ineffizientesten Code in der Bibliothek
stehen zu haben.
Und da ich - leider erst heute - festgestellt habe, dass stripos erst ab PHP 5
verfügbar ist, hat die Lösung mit strcasecmp den "Zuschlag" bekommen, die eine
ordentliche und stabile Performance bringt.

Herzlichen Dank an alle, die Sache ist für mich damit erledigt.

--
Wolfgang Fellger

Re: Stringvergleich - Optimierung

am 07.07.2006 18:56:44 von Niels Braczek

Torsten Zühlsdorff schrieb:
> Niels Braczek schrieb:
>=20
>> Es scheint noch eine Menge anderer Einflussgrößen zu geben. Ich er=
innere
>> mich an einen Schleifentest (foreach vs. for usw.), den ich mal gemach=
t
>> hatte. Auf unterschiedlichen Maschinen (Betriebssystemen) aber
>> identischen PHP-Versionen wichen die Ergebnisse teilweise erheblich
>> voneinander ab.=20
>=20
> Das kenne ich. Wie hast du getestet?

Ich habe eine Benchmarkklasse, der ein Array mit den zu vergleichenden
Code-Fragmenten übergeben wird. Diese Fragmente (und eine leeres
Statement zur Bestimmung des Overheads) werden bspw. 10000 mittels
eval() ausgeführt und die Zeit wie üblich mit microtime gemessen.

MfG
Niels

--=20
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------

Re: Stringvergleich - Optimierung

am 13.07.2006 10:34:46 von Ulf Kadner

Niels Braczek wrote:

> Ich habe eine Benchmarkklasse, der ein Array mit den zu vergleichenden
> Code-Fragmenten übergeben wird. Diese Fragmente (und eine leeres
> Statement zur Bestimmung des Overheads) werden bspw. 10000 mittels
> eval() ausgeführt und die Zeit wie üblich mit microtime gemessen.

Hallo Niels!

Hat das eine bestimmten Grund das Du den Code mittels Eval ausführst?
Evtl. Vorteile? Oder ist das nur einer Notwendigkeit, die der Aufbau der
Benchmarkklasse vorgibt?

MfG, Ulf

Re: Stringvergleich - Optimierung

am 13.07.2006 13:04:19 von Niels Braczek

Ulf Kadner schrieb:
> Niels Braczek wrote:
>=20
>> Ich habe eine Benchmarkklasse, der ein Array mit den zu vergleichenden=

>> Code-Fragmenten übergeben wird. Diese Fragmente (und eine leeres
>> Statement zur Bestimmung des Overheads) werden bspw. 10000 mittels
>> eval() ausgeführt und die Zeit wie üblich mit microtime gemessen.
>=20
> Hat das eine bestimmten Grund das Du den Code mittels Eval ausführst?=

> Evtl. Vorteile? Oder ist das nur einer Notwendigkeit, die der Aufbau de=
r=20
> Benchmarkklasse vorgibt?

Es ist die einfachste Art, einen per String (mehrere per Array)
übergebene Code-Fragmente auszuführen.

MfG
Niels

--=20
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------

Re: Stringvergleich - Optimierung

am 13.07.2006 14:11:33 von Ulf Kadner

Niels Braczek wrote:

> Ulf Kadner schrieb:
>
>>Hat das eine bestimmten Grund das Du den Code mittels Eval ausführst?
>>Evtl. Vorteile? Oder ist das nur einer Notwendigkeit, die der Aufbau der
>>Benchmarkklasse vorgibt?
>
> Es ist die einfachste Art, einen per String (mehrere per Array)
> übergebene Code-Fragmente auszuführen.

Das ist wohl war. Aber im Falle eines Fehlers ist die eigentliche
Fehlerursache im evaluierten Code erschwert auszumachen.

Ich hab mir dazu was über Reflection gebaut. Da hat man gerad wenn man
mehrere/alle Elemente/Methoden eines Objekts testen will wesentlich
weniger Schreibarbeit.

Aber das ist wohl wieder Geschmackssache.

MfG, Ulf

Re: Stringvergleich - Optimierung

am 13.07.2006 15:33:57 von Niels Braczek

Ulf Kadner schrieb:
> Niels Braczek wrote:
>> Ulf Kadner schrieb:
>>
>>>Hat das eine bestimmten Grund das Du den Code mittels Eval ausführst=
?
>>>Evtl. Vorteile? Oder ist das nur einer Notwendigkeit, die der Aufbau d=
er=20
>>>Benchmarkklasse vorgibt?
>>=20
>> Es ist die einfachste Art, einen per String (mehrere per Array)
>> übergebene Code-Fragmente auszuführen.
>=20
> Das ist wohl war. Aber im Falle eines Fehlers ist die eigentliche=20
> Fehlerursache im evaluierten Code erschwert auszumachen.

Im vorliegenden Fall ist das irrelevant. Die zu vergleichenden
Code-Fragmente bestehen idR je aus genau einem Statement. Das überblick=
t
man meist noch so.

> Ich hab mir dazu was über Reflection gebaut. Da hat man gerad wenn ma=
n=20
> mehrere/alle Elemente/Methoden eines Objekts testen will wesentlich=20
> weniger Schreibarbeit.

Verwechselst du Benchmarking mit Profiling?

> Aber das ist wohl wieder Geschmackssache.

Wohl auch eine Frage der Absicht.

MfG
Niels

--=20
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------

Re: Stringvergleich - Optimierung

am 17.07.2006 12:10:40 von thornythegod

Niels Braczek schrieb:

>>>Es scheint noch eine Menge anderer Einflussgrößen zu geben. Ich erinnere
>>>mich an einen Schleifentest (foreach vs. for usw.), den ich mal gemacht
>>>hatte. Auf unterschiedlichen Maschinen (Betriebssystemen) aber
>>>identischen PHP-Versionen wichen die Ergebnisse teilweise erheblich
>>>voneinander ab.
>>
>>Das kenne ich. Wie hast du getestet?
>
> Ich habe eine Benchmarkklasse, der ein Array mit den zu vergleichenden
> Code-Fragmenten übergeben wird. Diese Fragmente (und eine leeres
> Statement zur Bestimmung des Overheads) werden bspw. 10000 mittels
> eval() ausgeführt und die Zeit wie üblich mit microtime gemessen.

Interessanter Ansatz. Gibt es aber keinen Overhead durch die Ausführung
von eval(), die das Ergebnis beeinflussen?

Ich verwende das kleine Tool "ab", welches eine gewünschte Anzahl an
Requests auf eine Seite selbst abfeuert und zum Schluß eine kleine
Aufschlüsselung über die Testergebnisse gibt. Ich behaupte jetzt einfach
mal, dass diese Art des Benchmarks (bzw. Lasttest) realitätsnaher ist. ;)

Gruß,
Torsten

Re: Stringvergleich - Optimierung

am 17.07.2006 15:33:00 von Niels Braczek

Torsten Zühlsdorff schrieb:
> Niels Braczek schrieb:

>> Ich habe eine Benchmarkklasse, der ein Array mit den zu vergleichenden=

>> Code-Fragmenten übergeben wird. Diese Fragmente (und eine leeres
>> Statement zur Bestimmung des Overheads) werden bspw. 10000 mittels
>> eval() ausgeführt und die Zeit wie üblich mit microtime gemessen.
>=20
> Interessanter Ansatz. Gibt es aber keinen Overhead durch die Ausführu=
ng
> von eval(), die das Ergebnis beeinflussen?

Nein, weil zur Messung des Overheads eine leeres Statement durch eval()
gejagt wird; nach Abzug dieser Zeit verbleibt die Netto-Zeit für das
Statement (+/- Messungenauigkeiten der üblichen Art).

> Ich verwende das kleine Tool "ab", welches eine gewünschte Anzahl an
> Requests auf eine Seite selbst abfeuert und zum Schluß eine kleine
> Aufschlüsselung über die Testergebnisse gibt. Ich behaupte jetzt ei=
nfach
> mal, dass diese Art des Benchmarks (bzw. Lasttest) realitätsnaher ist=
;)

Es geht bei dieser Klasse darum, zwei, drei, ..., viele Statements in
der Ausführungszeit direkt zu vergleichen,
zB. echo "xxx$foo";
vs. echo "xxx{$foo}";
vs. echo "xxx", $foo;
vs. echo "xxx" . $foo;
vs. echo 'xxx', $foo;
vs. echo 'xxx' . $foo;

MfG
Niels

--=20
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------

Re: Stringvergleich - Optimierung

am 19.07.2006 07:37:15 von daniel.gorski

[Niels Braczek in de.comp.lang.php.misc]

>Es geht bei dieser Klasse darum, zwei, drei, ..., viele Statements in
>der Ausführungszeit direkt zu vergleichen,

>zB. echo "xxx$foo";
>vs. echo "xxx{$foo}";
>vs. echo "xxx", $foo;
>vs. echo "xxx" . $foo;
>vs. echo 'xxx', $foo;
>vs. echo 'xxx' . $foo;

Und die Ergebnisse in diesem Fall sind?

mfg dtg

Re: Stringvergleich - Optimierung

am 19.07.2006 15:27:46 von Niels Braczek

Daniel T. Gorski schrieb:
> [Niels Braczek in de.comp.lang.php.misc]
>=20
>>Es geht bei dieser Klasse darum, zwei, drei, ..., viele Statements in
>>der Ausführungszeit direkt zu vergleichen,
>=20
>>zB. echo "xxx$foo";
>>vs. echo "xxx{$foo}";
>>vs. echo "xxx", $foo;
>>vs. echo "xxx" . $foo;
>>vs. echo 'xxx', $foo;
>>vs. echo 'xxx' . $foo;
>=20
> Und die Ergebnisse in diesem Fall sind?

Initialisierung:
$var =3D "foo";

Variante | mtime
1 | echo "Foo =3D {$var}"; | 0.203182
2 | echo "Foo =3D $var"; | 0.302491
3 | echo "Foo =3D ".$var; | 0.158352
4 | echo 'Foo =3D '.$var; | 0.059592
5 | echo "Foo =3D ", $var; | 0.068001
6 | echo 'Foo =3D ', $var; | 0.057447
(10000 Durchgänge)

MfG
Niels

--=20
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------

Re: Stringvergleich - Optimierung

am 19.07.2006 19:18:12 von daniel.gorski

[Niels Braczek in de.comp.lang.php.misc]

>>> Es geht bei dieser Klasse darum, zwei, drei, ..., viele Statements in
>>> der Ausführungszeit direkt zu vergleichen,

>>> zB. echo "xxx$foo";
>>> vs. echo "xxx{$foo}";
>>> [...]

>> Und die Ergebnisse in diesem Fall sind?

> [Ergebnisse]

Gedankt.

mfg dtg