Click here to Skip to main content
15,893,381 members

The Weird and The Wonderful

   

The Weird and The Wonderful forum is a place to post Coding Horrors, Worst Practices, and the occasional flash of brilliance.

We all come across code that simply boggles the mind. Lazy kludges, embarrassing mistakes, horrid workarounds and developers just not quite getting it. And then somedays we come across - or write - the truly sublime.

Post your Best, your worst, and your most interesting. But please - no programming questions . This forum is purely for amusement and discussions on code snippets. All actual programming questions will be removed.

 
GeneralRe: The Illusion of a Choice Pin
David Skelly7-Apr-10 6:21
David Skelly7-Apr-10 6:21 
GeneralRe: The Illusion of a Choice Pin
David Skelly7-Apr-10 6:28
David Skelly7-Apr-10 6:28 
GeneralRe: The Illusion of a Choice Pin
supercat97-Apr-10 7:21
supercat97-Apr-10 7:21 
GeneralSubclassing Pin
Ian Shlasko31-Mar-10 8:56
Ian Shlasko31-Mar-10 8:56 
GeneralRe: Subclassing Pin
Andrew Rissing31-Mar-10 17:42
Andrew Rissing31-Mar-10 17:42 
GeneralRe: Subclassing Pin
Ian Shlasko31-Mar-10 17:50
Ian Shlasko31-Mar-10 17:50 
GeneralRe: Subclassing Pin
Andrew Rissing1-Apr-10 5:23
Andrew Rissing1-Apr-10 5:23 
GeneralRe: Subclassing Pin
Ian Shlasko1-Apr-10 11:17
Ian Shlasko1-Apr-10 11:17 
Ok, you inspired me to do some benchmarking of my own...

Didn't think your test was quite accurate, as the declarations would have to be inside the loop, not outside... Didn't make much of a difference, if any.

Then I tried adding two more classes (Derived2, Derived3), declaring a variable of each, testing each in turn, and doing a single "as" in the second part (After it determines the type)... Basically matching the real situation perfectly.

Test object is of type 'Derived':

'As' Elapsed: 453
'Is' Elapsed: 577

Test object is of type 'Derived2' (Second test):

'As' Elapsed: 982
'Is' Elapsed: 1030

Test object is of type 'Derived3':

'As' Elapsed: 1575
'Is' Elapsed: 1529

So there is a SLIGHT gain for using the "is" strategy when testing three or more times, but since the tests would be arranged such that the more common ones are near the top, the numbers to look at would be the middle/average, in this case 'Derived2'... And your method comes out ahead Smile | :)

Gotta send a note to myself to swap it over when I'm back in the office on Monday.

(Granted, each of these messages is coming across a network connection, so 50ms per 100 million messages is completely insignificant, but it's the principle of the thing Smile | :) )
Proud to have finally moved to the A-Ark. Which one are you in?
Author of the Guardians Saga (Sci-Fi/Fantasy novels)

GeneralRe: Subclassing Pin
Rob Grainger7-Apr-10 3:54
Rob Grainger7-Apr-10 3:54 
GeneralRe: Subclassing Pin
Ian Shlasko7-Apr-10 9:19
Ian Shlasko7-Apr-10 9:19 
GeneralRe: Subclassing Pin
Lutosław29-Apr-10 7:29
Lutosław29-Apr-10 7:29 
QuestionRe: Subclassing Pin
Chris Meech1-Apr-10 3:05
Chris Meech1-Apr-10 3:05 
AnswerRe: Subclassing Pin
Ian Shlasko1-Apr-10 10:56
Ian Shlasko1-Apr-10 10:56 
GeneralEncoding IP addresses Pin
Bernhard Hiller26-Mar-10 4:31
Bernhard Hiller26-Mar-10 4:31 
GeneralRe: Encoding IP addresses Pin
adgonz26-Mar-10 5:36
adgonz26-Mar-10 5:36 
GeneralRe: Encoding IP addresses Pin
reflex@codeproject30-Mar-10 8:24
reflex@codeproject30-Mar-10 8:24 
GeneralRe: Encoding IP addresses Pin
adgonz30-Mar-10 8:54
adgonz30-Mar-10 8:54 
GeneralRe: Encoding IP addresses Pin
supercat97-Apr-10 7:29
supercat97-Apr-10 7:29 
GeneralThat's an useless class Pin
doud26-Mar-10 3:19
professionaldoud26-Mar-10 3:19 
GeneralRe: That's an useless class Pin
Covean26-Mar-10 4:00
Covean26-Mar-10 4:00 
GeneralRe: That's an useless class Pin
V.26-Mar-10 4:59
professionalV.26-Mar-10 4:59 
GeneralRe: That's an useless class Pin
Som Shekhar27-Mar-10 4:19
Som Shekhar27-Mar-10 4:19 
GeneralRe: That's an useless class Pin
nxaspisol27-Mar-10 22:31
nxaspisol27-Mar-10 22:31 
GeneralRe: That's an useless class Pin
Don Kackman29-Mar-10 14:37
Don Kackman29-Mar-10 14:37 
GeneralMidPointRounding for Math.Round() method in .Net Application Pin
elizas24-Mar-10 1:03
elizas24-Mar-10 1:03 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.