Я пишу сетевой прототип, где Server
передает состояние World
ко всем своим Clients
. Я делаю это, используя следующий рабочий процесс:
Server --> World --> show --> ByteString --> GZip.compress --> udp send
Client <-- World <-- read <-- ByteString <-- GZip.decompress <-- udp receive
Однако, похоже, что show
и read
являются узкими местами производительности - большую часть времени занимают. По мере роста World
это будет только большой проблемой.
Я знаю, что в какой-то момент мне придется прекратить отправлять весь мир, но есть ли альтернативы использованию read
и show
для преобразования структуры данных в ByteString
?