data = {
let hasData = row => row.Computer && row.Method && row['ms/copy'] > 0;
function normalizeRow(row) {
row.Computer = row.Computer.replace(/macbook/i, "MacBook").trim();
row.FPS = Number(String(row.FPS).replace(/,/g, ''));
}
let p5data = await FileAttachment("p5.js pixel timings - Sheet1@3.csv").csv({
typed: true
});
let processingData = await FileAttachment(
"p5.js pixel timings - Sheet2.csv"
).csv({
typed: true
});
let data = [...p5data, ...processingData.slice(0, 18)].filter(hasData);
data.forEach(normalizeRow);
data = data.filter(row => row.FPS !== 121_225);
return data;
}