我有一个名为Memcached.Js的项目,它是Node.js的Memcached服务器端口.
我一直在玩字符串和缓冲区,比较内存占用和性能.对于内存,毫无疑问缓冲区是正确的选择.
但令我惊讶的是,表演也是如此.执行字符串操作比使用缓冲区更快.这是我试过的:
// Option 1: data.toString() - amazing, but it's the best one
var commandDataStr = mdata.data.toString().substr(startPos, bytes);
var commandData = new Buffer(commandDataStr);
// Option 2: data.slice().toString() - the same as above... What?
var commandDataStr = mdata.data.slice(startPos, startPos + bytes).toString();
var commandData = new Buffer(commandDataStr);
// Option 3: data.slice() - bad
var commandData = mdata.data.slice(startPos, startPos + bytes);
// Option 4: data.copy() - bad as well
var commandData = new Buffer(bytes);
mdata.data.copy(commandData, 0, startPos, startPos + bytes); …Run Code Online (Sandbox Code Playgroud)