Docs: Update benchmark results

This commit is contained in:
github-actions[bot]
2025-11-18 17:37:06 +00:00
parent 39d057f079
commit afcfd09537
84 changed files with 1086 additions and 1088 deletions
@@ -1,19 +1,27 @@
async function processCSV(csvString,config){
const{default:Papa}=await import('https://esm.sh/papaparse');
const{filterColumn:fc,filterValue:fv,groupBy:gb,aggregateColumn:ac,operation:op}=config;
const parsed=Papa.parse(csvString,{header:true}).data;
const filtered=parsed.filter(r=>r[fc]==fv);
const groups=filtered.reduce((acc,r)=>{
const k=r[gb];
const v=Number(r[ac])||0;
if(!acc[k])acc[k]={s:0,c:0};
acc[k].s+=v;
acc[k].c++;
return acc;
},{});
return Object.entries(groups).map(([k,g])=>{
const res=op==='count'?g.c:op==='sum'?g.s:g.s/g.c;
return{[gb]:k,result:res};
});
async function processCSV(csv,{filterColumn,filterValue,groupBy,aggregateColumn,operation}){
const Papa=(await import('https://cdn.jsdelivr.net/npm/papaparse@5/+esm')).default;
const{data}=Papa.parse(csv,{header:true,skipEmptyLines:true});
const groups=new Map();
for(const row of data){
if(row[filterColumn]==filterValue){
const key=row[groupBy];
const val=Number(row[aggregateColumn])||0;
const g=groups.get(key)||{sum:0,count:0};
g.sum+=val;
g.count++;
groups.set(key,g);
}
}
const result=[];
for(const[key,g]of groups){
let res;
switch(operation){
case'sum':res=g.sum;break;
case'avg':res=g.sum/g.count;break;
case'count':res=g.count;break;
}
result.push({[groupBy]:key,result:res});
}
return result;
}
export default processCSV;