How can I make the most efficient use of serial reading?

Hello to everyone.
I need help with serial reading.
6 seconds + 4 seconds waiting time = 10 seconds 1 message read from the data cable.
Data length is 50 bytes. meaningful data for me is 20 bytes. for example; 3. byte 8. byte 9. byte 18. byte 22. byte ........
1 data packet comes in 10 seconds. how can I best compile them into a string?
note: I am sending the string "xbee" to the recipient.

please help.

note 2: my english is not very good.
thanks everyone.

Have a look at the examples in Serial Input Basics - simple reliable ways to receive data.

...R

The thing to remember is that Serial is S...L...O...W. The Arduino can do thousands of things between each letter, even if the sender is sending at full speed with no gaps.

Usually there's no incentive to make Serial "efficient" because the processor only spends 1/1000th of its time processing Serial.