Skip to content

Commit 7d2318d

Browse files
committed
Use unordered-array-remove for better performance!
1 parent 9f88f46 commit 7d2318d

File tree

4 files changed

+7
-3
lines changed

4 files changed

+7
-3
lines changed

lib/client/http-tracker.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
module.exports = HTTPTracker
22

3+
var arrayRemove = require('unordered-array-remove')
34
var bencode = require('bencode')
45
var compact2string = require('compact2string')
56
var debug = require('debug')('bittorrent-tracker:http-tracker')
@@ -133,7 +134,7 @@ HTTPTracker.prototype._request = function (requestUrl, params, cb) {
133134

134135
function cleanup () {
135136
if (request) {
136-
self.cleanupFns.splice(self.cleanupFns.indexOf(cleanup), 1)
137+
arrayRemove(self.cleanupFns, self.cleanupFns.indexOf(cleanup))
137138
request.abort()
138139
request = null
139140
}

lib/client/udp-tracker.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
module.exports = UDPTracker
22

3+
var arrayRemove = require('unordered-array-remove')
34
var BN = require('bn.js')
45
var Buffer = require('safe-buffer').Buffer
56
var compact2string = require('compact2string')
@@ -110,7 +111,7 @@ UDPTracker.prototype._request = function (opts) {
110111
timeout = null
111112
}
112113
if (socket) {
113-
self.cleanupFns.splice(self.cleanupFns.indexOf(cleanup), 1)
114+
arrayRemove(self.cleanupFns, self.cleanupFns.indexOf(cleanup))
114115
socket.removeListener('error', onError)
115116
socket.removeListener('message', onSocketMessage)
116117
socket.on('error', noop) // ignore all future errors

lib/server/swarm.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
module.exports = Swarm
22

3+
var arrayRemove = require('unordered-array-remove')
34
var debug = require('debug')('bittorrent-tracker:swarm')
45
var LRU = require('lru')
56
var randomIterate = require('random-iterate')
@@ -103,7 +104,7 @@ Swarm.prototype._onAnnounceStopped = function (params, peer, id) {
103104
// swarms that this peer is participating in.
104105
if (peer.socket) {
105106
var index = peer.socket.infoHashes.indexOf(this.infoHash)
106-
peer.socket.infoHashes.splice(index, 1)
107+
arrayRemove(peer.socket.infoHashes, index)
107108
}
108109

109110
this.peers.remove(id)

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
"simple-websocket": "^4.0.0",
4141
"string2compact": "^1.1.1",
4242
"uniq": "^1.0.1",
43+
"unordered-array-remove": "^1.0.2",
4344
"ws": "^1.0.0",
4445
"xtend": "^4.0.0"
4546
},

0 commit comments

Comments
 (0)