Which of the following implementations do you think is faster and why?
Thx.
M.
Code:
// Used variables.
u8 array_A[ size_A ], array_B[ size_B ];
u8 index_A, index_B;
// (...)
// Option 1.
array_A[ index_A+0 ] = array_B[ index_B+0 ];
array_A[ index_A+1 ] = array_B[ index_B+1 ];
array_A[ index_A+2 ] = array_B[ index_B+2 ];
array_A[ index_A+3 ] = array_B[ index_B+3 ];
// Option 2.
*( ( u32* )&array_A[ index_A ] ) = *( ( u32* )&array_B[ index_B ] );
u8 array_A[ size_A ], array_B[ size_B ];
u8 index_A, index_B;
// (...)
// Option 1.
array_A[ index_A+0 ] = array_B[ index_B+0 ];
array_A[ index_A+1 ] = array_B[ index_B+1 ];
array_A[ index_A+2 ] = array_B[ index_B+2 ];
array_A[ index_A+3 ] = array_B[ index_B+3 ];
// Option 2.
*( ( u32* )&array_A[ index_A ] ) = *( ( u32* )&array_B[ index_B ] );
Thx.
M.