Является ли Java DataInputStream readByte() быстрее, чем readInt()?
Предыстория: в настоящее время я создаю приложение, в котором две программы Java взаимодействуют по сети, используя DataInputStream
а также DataOutputStream
, Перед каждым сообщением я хотел бы отправить указание того, какой тип данных отправляется, чтобы программа знала, как с этим обращаться. Я думал об отправке целого числа для этого, но у байта достаточно возможных комбинаций.
Итак, мой вопрос, является ли Java DataInputStream
"s readByte()
быстрее, чем readInt()
?
Кроме того, с другой стороны, это Java DataOutputStream
"s writeByte()
быстрее, чем writeInt()
?
1 ответ
Если для ваших данных будет достаточно одного байта, тогда readByte и writeByte будут действительно быстрее (потому что они читают / записывают меньше данных). Это не будет заметной разницы, потому что размер данных очень мал в обоих случаях - 1 против 4 байтов.
Если у вас много данных, поступающих из потока, то использование readByte или readInt не повлияет на скорость - например, вызов readByte 4 раза вместо readInt 1 раз. Просто используйте тот, который зависит от того, какие данные вы ожидаете, и что делает ваш код легче для понимания. Вы все равно должны будете прочитать весь материал:)