Allow use of orjson instead of json

The difference in speed seems negligible at start up, which is when
most time is taken for actually parsing JSON. I could potentially be
missing something but profiling didn't point to any discernable
difference.
This commit is contained in:
Rapptz
2021-07-05 04:01:19 -04:00
parent e0a9365d61
commit 88d825a803
4 changed files with 27 additions and 6 deletions

View File

@ -25,7 +25,6 @@ DEALINGS IN THE SOFTWARE.
import asyncio
from collections import namedtuple, deque
import concurrent.futures
import json
import logging
import struct
import sys
@ -421,7 +420,7 @@ class DiscordWebSocket:
msg = self._zlib.decompress(self._buffer)
msg = msg.decode('utf-8')
self._buffer = bytearray()
msg = json.loads(msg)
msg = utils.from_json(msg)
log.debug('For Shard ID %s: WebSocket Event: %s', self.shard_id, msg)
self._dispatch('socket_response', msg)
@ -882,7 +881,7 @@ class DiscordVoiceWebSocket:
# This exception is handled up the chain
msg = await asyncio.wait_for(self.ws.receive(), timeout=30.0)
if msg.type is aiohttp.WSMsgType.TEXT:
await self.received_message(json.loads(msg.data))
await self.received_message(utils.from_json(msg.data))
elif msg.type is aiohttp.WSMsgType.ERROR:
log.debug('Received %s', msg)
raise ConnectionClosed(self.ws, shard_id=None) from msg.data