Thread "Hallo Welt" in XS
(18 answers)
Opened by hlubenow at 2020-01-08 18:32
Nun, es gibt eben Algorithmen die sich mit anderen Programmiersprachen einfacher und auch performanter umsetzen lassen. Das ist eine der Grundideen die hinter meinem Framework stecken. Beispielsweise braucht man die Installation der GD-Lib wenn man mit Perl Grafiken erzeugen will. Diese Lib ist aber auf dem Server nicht vorhanden, also baue ich mir diesbezügliche Anwendungen nicht mit Perl sondern mit PHP, da gehört diese Library zur Grundausstattung bereits in v5.3.
Was XS betrifft: Der Algorithmus, den Storable verwendet ist nicht gerade performant. Das merkt man, wenn dieser Algorithmus nicht in C verfügbar ist sondern sondern nur in Pure Perl. Dasselbe habe ich bezüglich JSON und auch anderen Serialize-Algorithmen festgestellt. Interessant auch, daß es gerade die lahmsten Algorithmen sind die am weitesten Verbreitung finden (JSON). Andererseits macht es nicht viel Sinn, Dateizugriffe und Algorithmen auf Byteebene von Perl nach C umzusetzen, da gibt es nämlich überhaupt keine Perfromanceunterschiede. Es kommt aber auch darauf an wie man bestimmte Algorithmen umsetzt. Der Algorithmus zum Parsen des Enctype multipart/form-data in C umgesetzt, ist auf jeden Fall auch performanter als pure Perl-Lösungen. Allein die Feststellung daß PHP mit diesem grottigen Enctype performanter umgeht als Perl erweckte bei mir den Ehrgeiz, selbst einen solchen Parser in C zu programmieren und siehe da, da kommt auch PHP nicht mehr mit. Im Zweifelsfall: Einfach mal machen. Oft genug habe ich erlebt daß mir die besten Ideen erst beim praktischen Umsetzen kommen. MFG |