which one is faster and better coding
-
First code snippet
for(int i=1;i<=100;i++) DropDownList1.Items.Add(new ListItem(i.ToString(),i.ToString()));
Second Code SnippetDropDownList1.Items.Add(new ListItem("1","1")); DropDownList1.Items.Add(new ListItem("2","2")); DropDownList1.Items.Add(new ListItem("3","3")); DropDownList1.Items.Add(new ListItem("4","4")); DropDownList1.Items.Add(new ListItem("5","5")); DropDownList1.Items.Add(new ListItem("6","6")); DropDownList1.Items.Add(new ListItem("7","7")); DropDownList1.Items.Add(new ListItem("8","8")); . . . . DropDownList1.Items.Add(new ListItem("99","99")); DropDownList1.Items.Add(new ListItem("100","100"));
Regards, Sylvester G sylvester_g_m@yahoo.com
At certain number of items the first one starts being faster because it's the same code from the cache repeated while the second one needs to load code to cache as it progresses. Better coding - for number of loops >=3 is example #1 and for number of loops < 3 is example 2. Roman Ziak www.dipmicro.com
-
First code snippet
for(int i=1;i<=100;i++) DropDownList1.Items.Add(new ListItem(i.ToString(),i.ToString()));
Second Code SnippetDropDownList1.Items.Add(new ListItem("1","1")); DropDownList1.Items.Add(new ListItem("2","2")); DropDownList1.Items.Add(new ListItem("3","3")); DropDownList1.Items.Add(new ListItem("4","4")); DropDownList1.Items.Add(new ListItem("5","5")); DropDownList1.Items.Add(new ListItem("6","6")); DropDownList1.Items.Add(new ListItem("7","7")); DropDownList1.Items.Add(new ListItem("8","8")); . . . . DropDownList1.Items.Add(new ListItem("99","99")); DropDownList1.Items.Add(new ListItem("100","100"));
Regards, Sylvester G sylvester_g_m@yahoo.com
The best is use make an array with the strings and after use items.AddRange, and also for Painting part.
Juan Pablo G.C. Overrider Blog
-
It happened long time back with one of my friend, He was working in a company and his colleague wrote all hundred lines of code to populate drop down listbox.
Regards, Sylvester G sylvester_g_m@yahoo.com
sylvesterg wrote:
wrote all hundred lines of code to populate drop down listbox.
And if that is JavaScript, the amount of page size (ViewSource) that travels down the Internet pipe is really phenomenal.
Vasudevan Deepak Kumar Personal Homepage Tech Gossips
-
First code snippet
for(int i=1;i<=100;i++) DropDownList1.Items.Add(new ListItem(i.ToString(),i.ToString()));
Second Code SnippetDropDownList1.Items.Add(new ListItem("1","1")); DropDownList1.Items.Add(new ListItem("2","2")); DropDownList1.Items.Add(new ListItem("3","3")); DropDownList1.Items.Add(new ListItem("4","4")); DropDownList1.Items.Add(new ListItem("5","5")); DropDownList1.Items.Add(new ListItem("6","6")); DropDownList1.Items.Add(new ListItem("7","7")); DropDownList1.Items.Add(new ListItem("8","8")); . . . . DropDownList1.Items.Add(new ListItem("99","99")); DropDownList1.Items.Add(new ListItem("100","100"));
Regards, Sylvester G sylvester_g_m@yahoo.com
I'd go with the first as being better. Besides, the overhead in "DropDownList1.Items.Add()" itself is enough to mask any possible speed difference between the two constructs. Really, both should execute fast enough that you won't notice it anyway. Speed diff can be so easily lost due to random interrupts and kernel scheduling variations that it becomes a "who cares" issue for the most part. And the explicit one... what a nightmare to maintain.
-
First code snippet
for(int i=1;i<=100;i++) DropDownList1.Items.Add(new ListItem(i.ToString(),i.ToString()));
Second Code SnippetDropDownList1.Items.Add(new ListItem("1","1")); DropDownList1.Items.Add(new ListItem("2","2")); DropDownList1.Items.Add(new ListItem("3","3")); DropDownList1.Items.Add(new ListItem("4","4")); DropDownList1.Items.Add(new ListItem("5","5")); DropDownList1.Items.Add(new ListItem("6","6")); DropDownList1.Items.Add(new ListItem("7","7")); DropDownList1.Items.Add(new ListItem("8","8")); . . . . DropDownList1.Items.Add(new ListItem("99","99")); DropDownList1.Items.Add(new ListItem("100","100"));
Regards, Sylvester G sylvester_g_m@yahoo.com
The first is the better because it is more readable and bug-safer. In the second you have to paste and copy too much. I would write String s;//here for(int i=1;i<=100;i++) { const String s = i.ToString();//could be best, so let the compiler do the optimzing !!! DropDownList1.Items.Add(new ListItem(s,s)); } so I win one call The first one is the best for the programmer - so what second :suss:
Greetings from Germany
-
First code snippet
for(int i=1;i<=100;i++) DropDownList1.Items.Add(new ListItem(i.ToString(),i.ToString()));
Second Code SnippetDropDownList1.Items.Add(new ListItem("1","1")); DropDownList1.Items.Add(new ListItem("2","2")); DropDownList1.Items.Add(new ListItem("3","3")); DropDownList1.Items.Add(new ListItem("4","4")); DropDownList1.Items.Add(new ListItem("5","5")); DropDownList1.Items.Add(new ListItem("6","6")); DropDownList1.Items.Add(new ListItem("7","7")); DropDownList1.Items.Add(new ListItem("8","8")); . . . . DropDownList1.Items.Add(new ListItem("99","99")); DropDownList1.Items.Add(new ListItem("100","100"));
Regards, Sylvester G sylvester_g_m@yahoo.com
Would it be better to do the call to i.ToString() only once and assign it to a variable?
Being in a minority of one, doesn't make you insane
George Orwell
However, in my case it does -
First code snippet
for(int i=1;i<=100;i++) DropDownList1.Items.Add(new ListItem(i.ToString(),i.ToString()));
Second Code SnippetDropDownList1.Items.Add(new ListItem("1","1")); DropDownList1.Items.Add(new ListItem("2","2")); DropDownList1.Items.Add(new ListItem("3","3")); DropDownList1.Items.Add(new ListItem("4","4")); DropDownList1.Items.Add(new ListItem("5","5")); DropDownList1.Items.Add(new ListItem("6","6")); DropDownList1.Items.Add(new ListItem("7","7")); DropDownList1.Items.Add(new ListItem("8","8")); . . . . DropDownList1.Items.Add(new ListItem("99","99")); DropDownList1.Items.Add(new ListItem("100","100"));
Regards, Sylvester G sylvester_g_m@yahoo.com
The latter method is somewhat like C++ inline qualifier for function right?
Vasudevan Deepak Kumar Personal Homepage Tech Gossips
-
It happened long time back with one of my friend, He was working in a company and his colleague wrote all hundred lines of code to populate drop down listbox.
Regards, Sylvester G sylvester_g_m@yahoo.com
The first one is much better coding. The second one I would predict to be a nanosecond or something faster. The reason being the first one has to create a loop, some tostrings, an int etc.... And it still creates the same ammount of listitems, and such. The second on would make a larger dll, but probably execute a smidget faster cause of less resources..... but.... NEVER EVER DO THAT unless you have like 2 items or something small and ridicuous. The performance difference is not even close to being worth the pain of working on code like that. So... for(...) wins hands down.
-
First code snippet
for(int i=1;i<=100;i++) DropDownList1.Items.Add(new ListItem(i.ToString(),i.ToString()));
Second Code SnippetDropDownList1.Items.Add(new ListItem("1","1")); DropDownList1.Items.Add(new ListItem("2","2")); DropDownList1.Items.Add(new ListItem("3","3")); DropDownList1.Items.Add(new ListItem("4","4")); DropDownList1.Items.Add(new ListItem("5","5")); DropDownList1.Items.Add(new ListItem("6","6")); DropDownList1.Items.Add(new ListItem("7","7")); DropDownList1.Items.Add(new ListItem("8","8")); . . . . DropDownList1.Items.Add(new ListItem("99","99")); DropDownList1.Items.Add(new ListItem("100","100"));
Regards, Sylvester G sylvester_g_m@yahoo.com
First, you are not supposed to ask questions here. Now, on modern day machines it does not matter that much. The second would be faster, at least it use to be and is called unrolling. In the old days the difference would be noticeable by the user and is why unrolling loops was sometime needed, especially in graphics applications. In this case the
new
operation is more of a bottle neck than the loop, but pre-allocating memory space can help solve that problem. Any way, Just use the loop form, as it is easier to maintain and you probably do not have a legitimate reason not to.INTP "Program testing can be used to show the presence of bugs, but never to show their absence."Edsger Dijkstra
-
The first one is much better coding. The second one I would predict to be a nanosecond or something faster. The reason being the first one has to create a loop, some tostrings, an int etc.... And it still creates the same ammount of listitems, and such. The second on would make a larger dll, but probably execute a smidget faster cause of less resources..... but.... NEVER EVER DO THAT unless you have like 2 items or something small and ridicuous. The performance difference is not even close to being worth the pain of working on code like that. So... for(...) wins hands down.