casting int to uint and vice versa - performance
Steven Schveighoffer
schveiguy at yahoo.com
Fri Dec 3 14:49:47 PST 2010
On Fri, 03 Dec 2010 16:53:04 -0500, Michal Minich
<michal.minich at gmail.com> wrote:
> On Fri, 03 Dec 2010 16:44:42 -0500, Steven Schveighoffer wrote:
>
>> On Fri, 03 Dec 2010 16:34:51 -0500, Michal Minich
>> <michal.minich at gmail.com> wrote:
>>
>>> What is performance overhead for casting value of type int to uint and
>>> in the opposite direction. What happen when I cast int to int or uint
>>> to uint
>>
>> Nothing, there is no performance, type is strictly a compile-time
>> concept.
>>
>>> (for the simplicity in generic code). I suppose there is no difference,
>>> and it is in fact no-op for processor - it depends only on
>>> interpretation. Only when making other operations compiler may generate
>>> different instruction when he considers some value of either of types.
>>> Am I right?
>>
>> Not sure what you mean by that last part...
>>
>> -Steve
>
> just that i + i generates different instructions than ui + ui where int
> i; uint ui;
>
> Not really important, because I'm currently interested in cast only.
>
> Thank you.
That is odd, I would think that i+i generates the same instructions as
ui+ui. As far as I know, adding unsigned and signed is the same
instruction, but unsigned add just ignores the carry bit.
-Steve
More information about the Digitalmars-d-learn
mailing list