perl-script als binary / im ram halten

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Pischti
Beiträge: 417
Registriert: 20.02.2002 12:54:18
Wohnort: dresden

perl-script als binary / im ram halten

Beitrag von Pischti » 07.10.2004 13:31:42

hallo,
ich hab ein perl-script, was bei jeder http-anfrage an den apache vorgeschalten ist
(mit Action mein_modul /path/to/script)

jetzt meine frage(n) zur performance:
- perl ist ein interpreter und ja vom grundsatz langsamer als was compiliertes.
kann man den perlcode mit irgendnem tool compilieren (wie auch immer, damit
es schneller ist)

- macht es sinn, für das script eine ramdisk anzulegen - oder macht das der
plattencache von hause aus


kurzum - bei vielen webanfragen - gibts möglichkeiten der performance-verbesserung ?

___________
gruss pischti
debian stable

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 07.10.2004 15:02:33

mod_perl implementiert den Perl-Interpreter in Apache.

Dann gibt es bei SID inzwischen auch ein neues Paket, welches (häufig benutzte) Perl-Skripte immer im Hauptspeicher behält. Der Name fällt mir jetzt aber nicht ein.

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Re: perl-script als binary / im ram halten

Beitrag von mistersixt » 08.10.2004 08:26:23

Pischti hat geschrieben: - perl ist ein interpreter und ja vom grundsatz langsamer als was compiliertes.
kann man den perlcode mit irgendnem tool compilieren (wie auch immer, damit
es schneller ist)
"perlcc" vielleicht.

Gruss, mistersixt.
--
System: Debian Bookworm, 6.5.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 4.0 Ghz., Radeon RX 5700 XT, 16 GB Ram, XFCE

Benutzeravatar
Pischti
Beiträge: 417
Registriert: 20.02.2002 12:54:18
Wohnort: dresden

Beitrag von Pischti » 08.10.2004 08:59:11

hm, danke erst mal ...
bei dem perl als apache-modul:
mein perl-script nutzt ne ganze menge xml-module (parser,dom,usw.).
werden dann die gleichen benutzt wie beim "normalen" perl - oder muss dann für den
apache das zeugs extra installiert werden ?

_______________
gruss pischti
debian stable

Maj0r
Beiträge: 476
Registriert: 08.12.2003 14:52:39
Wohnort: Jüchen, Ne
Kontaktdaten:

Beitrag von Maj0r » 08.10.2004 09:07:36

Was Du brauchst ist ein Art JIT-Compiler für Perl.

Der merkt sich die Anteile, die er bereits kompiliert hat und verwendet diese dann wieder. Ist aber eigentlich pro Programmstart gedacht und nicht unbedingt für einen Server, der das Programm x-mal startet. Aber vielleicht gibts da eine Abart von JIT, die auch sowas kann.

Benutzeravatar
Pischti
Beiträge: 417
Registriert: 20.02.2002 12:54:18
Wohnort: dresden

Beitrag von Pischti » 08.10.2004 09:13:16

klingt ja fast so, als musste ich mein perl-script wie ne art eigener server betreiben, der permanent auf anfragen wartet ... ist dann vielleicht doch bisl übertrieben .. :-)

danke an alle ...

____________
gruss pischti
debian stable

Benutzeravatar
Webermaster
Beiträge: 93
Registriert: 27.12.2002 11:44:32

Beitrag von Webermaster » 08.10.2004 10:08:15

Vielleicht hilft Dir die Option -u oder der Nachfolger davon: http://www.perldoc.com/perl5.6/pod/perl ... d-Switches
Selber habe ich keine Erfahrung damit.

Gruss Alex

Benutzeravatar
jack herer
Beiträge: 94
Registriert: 28.07.2003 19:48:17

Beitrag von jack herer » 08.10.2004 20:02:37

Hallo,

mod_perl ist genau das was Du suchst. Perlscipte werden beim ersten mal ausführen (oder beim Start vom apache) kompiliert und dann im Arbeitsspeicher gehalten. Deshalb ist es anschliessend auch echt fix...
Allerdings musst Du deine Scripte evtl. anpassen und sie müssen sauber programmiert sein...
Links hab ich jetzt leider nicht, aber ich glaub apache.org oder cpan sollten ein guter Einstieg sein...

Benutzeravatar
godsmacker
Beiträge: 902
Registriert: 16.03.2003 21:50:26
Lizenz eigener Beiträge: Artistic Lizenz
Wohnort: Chemnitz
Kontaktdaten:

Beitrag von godsmacker » 09.10.2004 09:24:20

Helfen koennten Dir auch perlcc und/oder libfcgi-perl.

Florian

Antworten