Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/webtorrent/webtorrent.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorFeross Aboukhadijeh <feross@feross.org>2016-03-29 06:00:58 +0300
committerFeross Aboukhadijeh <feross@feross.org>2016-03-29 06:00:58 +0300
commit1973007f7fa336774d20d7a0578894832c25d00b (patch)
tree9ec3c25be3099f27c5923c445709f87b7fe91f69 /lib
parentb6ac41ae3b55153ad8faedfee53c421ae2a75d53 (diff)
Replace expensive arr.splice() with unordered-array-remove in hot code
For https://github.com/feross/webtorrent-desktop/issues/256
Diffstat (limited to 'lib')
-rw-r--r--lib/peer.js4
-rw-r--r--lib/server.js4
-rw-r--r--lib/tcp-pool.js3
3 files changed, 6 insertions, 5 deletions
diff --git a/lib/peer.js b/lib/peer.js
index cfa0cc5..aafbabe 100644
--- a/lib/peer.js
+++ b/lib/peer.js
@@ -1,3 +1,4 @@
+var arrayRemove = require('unordered-array-remove')
var debug = require('debug')('webtorrent:peer')
var Wire = require('bittorrent-protocol')
@@ -240,8 +241,7 @@ Peer.prototype.destroy = function (err) {
self.wire = null
if (swarm && wire) {
- var index = swarm.wires.indexOf(wire)
- if (index >= 0) swarm.wires.splice(index, 1)
+ arrayRemove(swarm.wires, swarm.wires.indexOf(wire))
}
if (conn) {
conn.on('error', noop)
diff --git a/lib/server.js b/lib/server.js
index 2cefdac..27a645e 100644
--- a/lib/server.js
+++ b/lib/server.js
@@ -1,5 +1,6 @@
module.exports = Server
+var arrayRemove = require('unordered-array-remove')
var debug = require('debug')('webtorrent:server')
var http = require('http')
var mime = require('mime')
@@ -17,8 +18,7 @@ function Server (torrent, opts) {
socket.setTimeout(36000000)
sockets.push(socket)
socket.on('close', function () {
- var index = sockets.indexOf(socket)
- if (index >= 0) sockets.splice(index, 1)
+ arrayRemove(sockets, sockets.indexOf(socket))
})
})
diff --git a/lib/tcp-pool.js b/lib/tcp-pool.js
index 02148e3..bf75ebe 100644
--- a/lib/tcp-pool.js
+++ b/lib/tcp-pool.js
@@ -1,5 +1,6 @@
module.exports = TCPPool
+var arrayRemove = require('unordered-array-remove')
var debug = require('debug')('webtorrent:tcp-pool')
var net = require('net') // browser exclude
@@ -198,7 +199,7 @@ TCPPool.prototype._onConnection = function (conn) {
conn.once('close', removePendingConn)
function removePendingConn () {
- self.pendingConns.splice(self.pendingConns.indexOf(conn))
+ arrayRemove(self.pendingConns, self.pendingConns.indexOf(conn))
}
var peer = Peer.createTCPIncomingPeer(conn)