Avatar billede finger Nybegynder
12. december 2003 - 09:38 Der er 6 kommentarer og
1 løsning

parsing. Hvilken er hurtigst?

Hejsa.

Er der nogen der kan bevise hvilken af disse to der er hurtigst?:

int.Parse(myIntString);

eller

Convert.ToInt32(myIntString);
Avatar billede mufoxe Nybegynder
12. december 2003 - 09:41 #1
Du kan jo prøve at lave 1.000.000 gennemløb med det samme tal for dem begge og se, hvilken der tager længst tid :)
Avatar billede arne_v Ekspert
12. december 2003 - 09:53 #2
Der står i docs for Convert ToInt32:

Remarks
The return value is the result of invoking the Int32.Parse method on value.

så Convert.ToInt32 må være langsommere end Int32.Parse da den
kalder sidstnævnte !
Avatar billede finger Nybegynder
12. december 2003 - 10:22 #3
mange tak.
Avatar billede nielsbrinch Nybegynder
12. december 2003 - 14:40 #4
Man skal vel ud i milliarder af kald før man kan måle en forskel. Jeg vil mene at de i praksis er præcis lige hurtige.
Avatar billede arne_v Ekspert
12. december 2003 - 14:48 #5
Sikkert. Overhead ved det ekstra kald er næppe ret stort. Men der må være lidt.
Avatar billede nielsbrinch Nybegynder
12. december 2003 - 15:13 #6
Jeg testede lige for sjov :-) Det er en test med én million konverteringer af tal fra nul til en million.

Convert.ToInt32:
1452, 1442, 1432, 1432, 1432, 1442, 1432, 1442

int.Parse
1432, 1423, 1432, 1432, 1422, 1422, 1442, 1422

Ganske rigtigt, der er minsandten en tendens til at int.Parse er marginalt hurtigere. Noget i retningen af 10 millisekunder er i gennemsnit sparet ved en million konverteringer. Hvorfor samtlige tider ender på 2-taller, tør jeg ikke gisne om.

Test:

int tid = Environment.TickCount;
for (int i = 0; i < 1000000; i++)
    int.Parse(""+i);
Console.WriteLine(Environment.TickCount - tid);
Avatar billede arne_v Ekspert
12. december 2003 - 15:24 #7
Den slags optimeringer af operationer er helt uden betydning for
performance det store flertal af applikationer idag.
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