12. maj 2013 - 13:42Der 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.
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
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.
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.
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.
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,
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.