Является ли 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 раз. Просто используйте тот, который зависит от того, какие данные вы ожидаете, и что делает ваш код легче для понимания. Вы все равно должны будете прочитать весь материал:)

Другие вопросы по тегам