forked from feross/buffer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathreadUInt32LE.js
39 lines (33 loc) · 994 Bytes
/
readUInt32LE.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
var BrowserBuffer = require('../').Buffer // (this module)
var util = require('./util')
var suite = util.suite()
var LENGTH = 160
var browserBuffer = new BrowserBuffer(LENGTH * 4)
var typedarray = new Uint8Array(LENGTH * 4)
var dataview = new DataView(typedarray.buffer)
var nodeBuffer = new Buffer(LENGTH * 4)
;[browserBuffer, nodeBuffer].forEach(function (buf) {
for (var i = 0; i < LENGTH; i++) {
buf.writeUInt32LE(7000 + i, i * 4)
}
})
for (var i = 0; i < LENGTH; i++) {
dataview.setUint32(i * 4, 7000 + i)
}
suite
.add('BrowserBuffer#readUInt32LE', function () {
for (var i = 0; i < LENGTH; i++) {
var x = browserBuffer.readUInt32LE(i * 4)
}
})
.add('DataView#getUint32', function () {
for (var i = 0; i < LENGTH; i++) {
var x = dataview.getUint32(i * 4, true)
}
})
if (!process.browser) suite
.add('NodeBuffer#readUInt32LE', function () {
for (var i = 0; i < LENGTH; i++) {
var x = nodeBuffer.readUInt32LE(i * 4)
}
})