My conclution: we really need improve the performance of Object,
cause that's the most frequently used Thing.
```code
performanceButton.onclick = function () {
let startTime = Date.now()
ChromeSamples.setStatus(`Start performance testing at time ${startTime}`);
function testArray(count) {
let startTime = Date.now()
let a = []
for (let i = 0; i < count; ++i) {
a[i] = i + 1
}
return Date.now() - startTime
}
function testObject(count) {
let startTime = Date.now()
let a = {}
for (let i = 0; i < count; ++i) {
a[i] = i + 1
}
return Date.now() - startTime
}
function testObjectSingle(count) {
let startTime = Date.now()
let a = {}
for (let i = 0; i < count; ++i) {
a[0] = i + 1
}
return Date.now() - startTime
}
function testMap(count) {
let startTime = Date.now()
let a = new Map()
for (let i = 0; i < count; ++i) {
a.set(i, i + 1)
}
return Date.now() - startTime
}
function testUint32Array(count) {
let startTime = Date.now()
let a = new Uint32Array(count)
for (let i = 0; i < count; ++i) {
a[i] = i + 1
}
return Date.now() - startTime
}
setTimeout(function () {
let count = 10000000
let testResult = {
array: testArray(count),
object: testObject(count),
objectSingle: testObjectSingle(count),
map: testMap(count),
uint32Array: testUint32Array(count),
}
ChromeSamples.setStatus(`Start performance ending at time
${JSON.stringify(testResult)}`);
})
}
```
Firefox:
Start performance ending at time Start performance ending at time
{"array":340,"object":4762,"objectSingle":2699,"map":5151,"uint32Array":29}
Chrome:
Start performance ending at time
{"array":215,"object":614,"objectSingle":49,"map":6232,"uint32Array":100}
--
此致
礼
罗勇刚
Yours
sincerely,
Yonggang Luo
_______________________________________________
dev-platform mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-platform