Published
Edited
Mar 2, 2022
Insert cell
Insert cell
rd = d3.randomInt(0,255)
Insert cell
Insert cell
d1 = {
let dArray = []
for (let i = 0; i < 512*512; ++i) {
dArray.push(rd())
}
return dArray
}
Insert cell
d2 = {
return _.chunk(d1,512)
}
Insert cell
obj1 = {
let data = {}

_.forEach(d2, (col,y)=>{
let idy = `y${y}`
data[idy]={}
_.forEach(col, (row,x)=>{
data[idy][`x${x}`]=row })
})
return data
}
Insert cell
Insert cell
d1Test ={

let startTime = performance.now()

let p = []
let stride = 512
for (let index = 0; index < 10; ++index) {
for (let i = 0; i < d1.length; i++) {
let x = i % stride
let y = Math.floor(i / stride)
p.push([y,x,d1[i]])
}
}
let endTime = performance.now()
console.log(`D1 test took ${endTime - startTime} milliseconds`)

//===================

startTime = performance.now()

p = []
for (let index = 0; index < 10; ++index) {
for (let y = 0; y < 512; y++) {
for (let x = 0; x < 512; x++) {
p.push([y,x,d2[y][x]])
}
}
}
endTime = performance.now()
console.log(`D2 test took ${endTime - startTime} milliseconds`)
//===================
startTime = performance.now()

p = []
for (let index = 0; index < 10; ++index) {
for (let y = 0; y < 512; y++) {
let idy = `y${y}`
for (let x = 0; x < 512; x++) {
p.push([y,x,obj1[idy][`x${x}`]])
}
}
}
endTime = performance.now()
console.log(`OBJ test took ${endTime - startTime} milliseconds`)
}
Insert cell
Insert cell
{ let startTime = performance.now()

let p = []
let stride = 512
for (let i = 0; i < d1.length; i++) {
let x = i % stride
let y = Math.floor(i / stride)
p.push([y,x,d1[i]])
}
let endTime = performance.now()
console.log(`D1 test ${endTime - startTime} milliseconds`)
return endTime - startTime
}
Insert cell
{
let startTime = performance.now()

let p = []
for (let y = 0; y < 512; y++) {
for (let x = 0; x < 512; x++) {
p.push([y,x,d2[y][x]])
}
}
let endTime = performance.now()
console.log(`D2 test ${endTime - startTime} milliseconds`)
return endTime - startTime
}
Insert cell
{
let startTime = performance.now()

let p = []
for (let y = 0; y < 512; y++) {
let idy = `y${y}`
for (let x = 0; x < 512; x++) {
p.push([y,x,obj1[idy][`x${x}`]])
}
}
let endTime = performance.now()
console.log(`OBJ test ${endTime - startTime} milliseconds`)
return endTime - startTime
}
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more