List:Falcon Storage Engine« Previous MessageNext Message »
From:Lars-Erik Bjørk Date:December 19 2008 11:29am
Subject:Re: Some questions
View as plain text  
Aha! Thanks Vlad!

Still wonder about the first question though ... :)

Btw, you don't have any opinion regarding using an additional function  
call, as I asked about in the other mail? ;)

On Dec 19, 2008, at 12:24 PM, Vladislav Vaintroub wrote:

> Erik, I cannot answer your first question, but the bit  manipulation  
> in
> second question is decoding of little endian.
> You can do memcpy on Intel, but not on SPARC.
>
> ( on intel you can also use tmp = *(int64 *)ptr;
> since alignment is not an issue here)
>
>> -----Original Message-----
>> From: Lars-Erik.Bjork@stripped [mailto:Lars-Erik.Bjork@stripped]
>> Sent: Friday, December 19, 2008 11:40 AM
>> To: falcon@stripped
>> Subject: Some questions
>>
>> Hi again.
>>
>> There is some parts of StorageDatabase::getSegmentValue that confuses
>> me.
>>
>> First of all, it seems that some of the keys are passed from the
>> server as endian independent, whereas some of them are not. Do you
>> know if that really is the case? It looks kind of strange to me.
>>
>> Second, why do we do things like this:
>>
>>            int64 temp = (int64)
>>                 ((uint64)(((uint32) ((UCHAR) ptr[0])) +
>>                     (((uint32) ((UCHAR) ptr[1])) << 8) +
>>                     (((uint32) ((UCHAR) ptr[2])) << 16) +
>>                     (((uint32) ((UCHAR) ptr[3])) << 24)) +
>>                 (((uint64)(((uint32) ((UCHAR) ptr[4])) +
>>                     (((uint32) ((UCHAR) ptr[5])) << 8) +
>>                     (((uint32) ((UCHAR) ptr[6])) << 16) +
>>                     (((uint32) ((UCHAR) ptr[7])) << 24)))
>>                 << 32));
>>             value->setValue(temp);
>>
>>  instead of
>>
>>             int64 temp;
>>             memcpy(&temp, ptr, sizeof(temp));
>>             value->setValue(temp);
>> ?
>>
>> Is the memcpy significantly slower? It is used elsewhere in the same
>> method, for example for float. I find the memcpy alternative to be
>> much more readable, that is for sure!
>> Maybe I am just mixing things here, I used to be a Java boy, all this
>> casting and bit-shifting confuses me :)
>>
>> /Lars-Erik
>>
>> --
>> Falcon Storage Engine Mailing List
>> For list archives: http://lists.mysql.com/falcon
>> To unsubscribe:    http://lists.mysql.com/falcon?unsub=1
>
>
>
> -- 
> Falcon Storage Engine Mailing List
> For list archives: http://lists.mysql.com/falcon
> To unsubscribe:    http://lists.mysql.com/falcon?unsub=1
>

Thread
Some questionsLars-Erik Bjørk19 Dec
  • RE: Some questionsVladislav Vaintroub19 Dec
    • Re: Some questionsLars-Erik Bjørk19 Dec