|
The other problem is your version isn't contesting the stack
try something like
if(i++>--i) {
}
vs
if(++i>--i) {
}
in your test, and then run it in release mode
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
Nope.
0.0861007099999955 milliseconds
0.0865207899999961 milliseconds
"It is easy to decipher extraterrestrial signals after deciphering Javascript and VB6 themselves.", ISanti[ ^]
|
|
|
|
|
that's interesting. I wonder what the IL looks like. you can email me your code (i'll PM you my address) or I'll write the benchmark myself when I get the time and disassemble it.
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
Guy proves with code what I've been telling you on the other strand of this thread and you shift to arguing about the best way to time code. Mmm, I see a pattern emerging.
|
|
|
|
|
One hundred pop artists use sticks (10)
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Clever. I see what you did there.
|
|
|
|
|
Feel free to educate the others!
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
DRUMSTICKS
In Word you can only store 2 bytes. That is why I use Writer.
|
|
|
|
|
Nope!
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
CandyStore
cheers,
Super
------------------------------------------
Too much of good is bad,mix some evil in it
|
|
|
|
|
Nice try! Nope.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Chopsticks
It does not solve my Problem, but it answers my question
modified 19-Jan-21 21:04pm.
|
|
|
|
|
Nope!
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
I have no idea, but I feel bad that it hasn't been solved, so I am going to throw out my best guess (even though it's probably 2 words, not one).
Candycanes
C = One hundred
andy = (Warhol) pop artist
canes = sticks
Although knowing your trickery, I expect "sticks" is more about being sticky like toffee - but I got nowhere with that angle.
|
|
|
|
|
CANDYCANES is correct!
You are up tomorrow!
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Damn, wasn't expecting that to be right... go me
|
|
|
|
|
So right now my little mini C# subset does not support a lot of really convenient operators
like most of the op+assignment operators (+=,-=,/=,*=) nor does it support either post or pre increment or decrement operators (++a, a++, --b, b++)
The reason it doesn't is because the CodeDOM it renders to does not.
The primarily annoying this is it forces you to declare your for loops like this:
for(int i = 0;i<10;i=i+1)
that takes some getting used to.
Now here's the thing, I can simulate these operators with other equivalents. Like, every time I see a ++a, i can turn it into a=a+1
But the problem is, it's not exactly the same thing. What if someone has overloaded ++?
All of the sudden your code will not run the target ++ code and why could be very confusing unless you're willing to pour over God only knows how many lines of generated source code it created.
So that's why I don't do it.
Eventually, I may, if I decide to make this generated code forcibly call the static operator overload methods (like op_Increment() ) exposed from the target type, but right now that's a long out to do. But doing so would keep the semantics. even then i can probably never support i++, only ++i, but that's a longer story.
My question is this - am I being too much of a stickler here? Should I just go ahead and remap these operators and say to hell with the minor semantic change it introduces? Or should I remain conservative in this respect?
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
It depends on what you want to do with your solution. If you are the only one who will ever use it, then you can do as you want. But if you plan one someone else using it, then you'd better implement these operators. If you don't, then expect a bad reaction from people when they will realize that they cannot use increment/decrement operators, or if they can use prefix increment/decrement but not postfix ones, or the other way around.
"Five fruits and vegetables a day? What a joke!
Personally, after the third watermelon, I'm full."
|
|
|
|
|
I guess that means implementing the op_XXXXX calls then.
Hateful VB. That's the whole reason for this mess. VB doesn't support these operators so the CodeDOM doesn't.
Thanks for your input. It may not have been what I wanted to hear, but it was probably what I needed to here.
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
Glad to have helped
One question strikes me though: you are talking about a subset of C#; so how is VB concerned at all? Wouldn't you have to define a subset of VB for the same?
"Five fruits and vegetables a day? What a joke!
Personally, after the third watermelon, I'm full."
|
|
|
|
|
No, the subset of C# i'm rendering is what is compliant with the CodeDOM. The CodeDOM itself is a genericized abstract-syntax-tree for representing code constructs. Those code constructs are rendered to a target language by a 3rd party "CodeDOM provider" - when people make languages for .NET they make a CodeDOM provider that introduces rendering for their language. "Stock" .NET distributions include a renderer for VB and C#.
Well, I don't like building those CodeDOM trees by hand, so I wrote "Slang" which takes a C# subset and turns it into a CodeDOM tree so that it can then be rendered into one of N target languages, including C# and VB
that's where VB comes into it.
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
Thanks, now I get it.
"Five fruits and vegetables a day? What a joke!
Personally, after the third watermelon, I'm full."
|
|
|
|
|
Wow, I managed to successfully explain a thing.
I feel good about that. LOL
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
Provide a compilation option to turn OFF the feature (and write decent documentation about ).
|
|
|
|
|
There's an idea, although I'm not sure where to put it. I like this idea because it provides me a way out without having to do full op_XXXXX call support.
I'll certainly consider it. Thanks.
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|