Improve Cache class performance

Use hashmap instead of array for caching by discriminator

Optimize `get` method by using `for` loop instead of `forEach`
and returning hashmap cache for queries by discriminator
This commit is contained in:
qeled
2015-12-10 02:26:30 +03:00
parent a789b1f396
commit a369ef2788
3 changed files with 20 additions and 44 deletions

View File

@@ -1076,11 +1076,6 @@ export default class InternalClient {
var startTime = Date.now();
self.intervals.kai = setInterval(() => self.sendWS({ op: 1, d: Date.now() }), data.heartbeat_interval);
self.users.setHighPerformance();
self.servers.setHighPerformance();
self.channels.setHighPerformance();
self.private_channels.setHighPerformance();
self.user = self.users.add(new User(data.user, client));
data.guilds.forEach(server => {
self.servers.add(new Server(server, client));
@@ -1090,11 +1085,6 @@ export default class InternalClient {
});
self.state = ConnectionState.READY;
self.users.setNormalPerformance();
self.servers.setNormalPerformance();
self.channels.setNormalPerformance();
self.private_channels.setNormalPerformance();
client.emit("ready");
client.emit("debug", `ready packet took ${Date.now() - startTime}ms to process`);
client.emit("debug", `ready with ${self.servers.length} servers, ${self.channels.length} channels and ${self.users.length} users cached.`);