Avatar billede montago Praktikant
30. oktober 2007 - 19:28 Der er 2 kommentarer og
1 løsning

langsom regex / højt cpu brug

jeg har lavet en reverse proxy som spiser en remote hjemmeside...

for at links skal virke op imod proxien, regex'er jeg alle links, forms osv. og konvertere dem til lokale links

umiddelbart sluger 1 kald, 100% cpu i 1 sekund hvilket jeg synes er for meget...

2 ting:

1. hvordan benytter jeg mig optimalt af regex ?
- skal regex deklareres udenfor løkker?
- vil Regexoptions.Compile gøre en forskel og hvornår/hvordan ?

2. hvordan kan jeg funktionsvis undersøge HVAD der bruger alt min cpu ? -- jeg har prøvet med Performance profiler, men har problemer med timouts.
Avatar billede arne_v Ekspert
30. oktober 2007 - 20:01 #1
private static Regex r = new Regex("e", RegexOptions.Compiled);
        public int CountChar(string s)
        {
            return r.Matches(s).Count;
        }

er hurtiger end:

        public override int CountChar(string s)
        {
            Regex r = new Regex("e");
            return r.Matches(s).Count;
        }
Avatar billede montago Praktikant
30. oktober 2007 - 21:20 #2
det hjalp vildt meget !!


smider du et svar...

2. er overflødig nu
Avatar billede arne_v Ekspert
30. oktober 2007 - 22:17 #3
svar
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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