Avatar billede encorez Nybegynder
12. maj 2013 - 13:42 Der er 7 kommentarer og
1 løsning

Bedste scriptsprog til projekt?

Hej

Jeg har udviklet et script, som skal analysere eksempelvis 50 MB text data, 1 milion gange. Dvs. script går igennem de samme data igen og igen og igen men på en ny måde til analyse hver gang.

Jeg har udviklet det i PHP, kun fordi det er det jeg kan!
Og jeg kører scriptet i en browser i en virtuel ubuntu fordi så kan jeg opdele arbejdet i flere processer og derved udnytte flere CPUer.

Alligevel tager det sindsygt lang tid! Og derfor vil jeg spørge om nogen ved om det netop er fordi PHP og Apache selvfølgelig ikke er beregnet til den slags opgaver.

Så hvilket sprog vil I anbefale mig at kaste mig over, som er nemmest at gå til når jeg kender PHP og som er hurtigst til at bearbejde data ud fra det sparsomme jeg har beskrevet?

Jeg ved det er sparsomt med oplysninger, så spørg til detaljer hvis det er nødvendigt for at kunne give et bedre svar.

På forhånd tak
Avatar billede moddi100 Seniormester
12. maj 2013 - 14:29 #1
Umiddelbart vil jeg mene at det er din fremgangsmåde der er forkert, nogle af analysemetoderne må kunne optimeres lidt. F.eks. skal du undgå funktioner som preg_* ligesom du ikke bør indlæse filen flere gange.
Avatar billede arne_v Ekspert
12. maj 2013 - 19:20 #2
Hvis du ikke kan andet end PHP, saa er der vel ikke meget pointe i at foreslaa noget andet.

Men til simple tal og streng operationer er et compilet sprog meget hurtigere end et fortolket, saa et skift fra PHP til noget compilet vil potentielt kunne give en stor forskel.

Men du kan jo starte med som foreslaaet i #1 at se om der er noget som kan optimeres.
Avatar billede encorez Nybegynder
12. maj 2013 - 22:10 #3
Hej

At indlæse filen ville jeg nok kunne optimere på, men har ikke fundet en metode endnu. Men umiddelbart er det ikke det der tager tid.

Jeg bruger ikke "komplekse" operationer. I én gennemgang af disse data opbygger jeg nogle få arrays, hvori jeg popper og indsætter rigtig mange værdier. Der ud over er det "bare" en del matematiske operationer + - > < osv.

Mht til sproget, så har jeg for nogle år siden leget med java og ved at det ligner meget PHP. Og jeg har hørt at C# minder meget om den syntax også. Så det var et spørgsmål om at vælge et compilet sprog som minder som java/php så jeg hurtigt kan sætte mig ind i det og hurtigere kan rette den eksisterende kode til.
Og skal desuden kunne understøtte at oprette flere processer til udnyttelse af alle cpuer.
Avatar billede arne_v Ekspert
13. maj 2013 - 00:35 #4
Baade Java og C# er compilet (foerst til byte code og saa JIT compilet til native).

Og baade Java og .NET har thread libraries sopm goer det nemt at starte traade.
Avatar billede encorez Nybegynder
13. maj 2013 - 21:36 #5
OK, hvis du har erfaring i begge, hvilket vil du så sige er nemmest at komme i gang med?

Det er måske et dumt spørgsmål, men vil en web applikation afvikle lige så hurtig som ikke-web applikation hvis det giver mening?
Avatar billede arne_v Ekspert
14. maj 2013 - 01:33 #6
Java er et lidt simplere sprog end C#, saa maaske er det marginalt nemmere at komme igang med.

Principielt koerer kode i en web app lige saa hurtigt som i andre app typer. Men web app konteksten giver bare en masse unoedvendige restriktioner og hensyntagen som en normal app ikke har,
Avatar billede encorez Nybegynder
01. juni 2013 - 13:30 #7
Tak for hjælpen. Læg et svar som tak
Avatar billede arne_v Ekspert
02. juni 2013 - 20:17 #8
moi?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester