Spaces:
Sleeping
Sleeping
Update assets/index-Btti6dN2.js
Browse files- assets/index-Btti6dN2.js +0 -82
assets/index-Btti6dN2.js
CHANGED
|
@@ -84,89 +84,7 @@ ${this.parser.parse(s)}</blockquote>
|
|
| 84 |
`}listitem(s){var a;let o="";if(s.task){const f=this.checkbox({checked:!!s.checked});s.loose?((a=s.tokens[0])==null?void 0:a.type)==="paragraph"?(s.tokens[0].text=f+" "+s.tokens[0].text,s.tokens[0].tokens&&s.tokens[0].tokens.length>0&&s.tokens[0].tokens[0].type==="text"&&(s.tokens[0].tokens[0].text=f+" "+Zt(s.tokens[0].tokens[0].text),s.tokens[0].tokens[0].escaped=!0)):s.tokens.unshift({type:"text",raw:f+" ",text:f+" ",escaped:!0}):o+=f+" "}return o+=this.parser.parse(s.tokens,!!s.loose),`<li>${o}</li>
|
| 85 |
`}checkbox({checked:s}){return"<input "+(s?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph({tokens:s}){return`<p>${this.parser.parseInline(s)}</p>
|
| 86 |
`}table(s){let o="",a="";for(let p=0;p<s.header.length;p++)a+=this.tablecell(s.header[p]);o+=this.tablerow({text:a});let f="";for(let p=0;p<s.rows.length;p++){const y=s.rows[p];a="";for(let k=0;k<y.length;k++)a+=this.tablecell(y[k]);f+=this.tablerow({text:a})}return f&&(f=`<tbody>${f}</tbody>`),
|
| 87 |
-
// Tableaux pour stocker les données du graphique
|
| 88 |
-
let tokenLabels = []; // Exemple : [1, 2, 3, 4, 5...] (Index du token)
|
| 89 |
-
let tpsData = []; // Exemple : [45, 62, 68, 69...] (Vitesse à ce moment-là)
|
| 90 |
|
| 91 |
-
myWorker.onmessage = function(e) {
|
| 92 |
-
const { status, tps, numTokens, output } = e.data;
|
| 93 |
-
|
| 94 |
-
if (status === 'start') {
|
| 95 |
-
// Réinitialiser les données au début d'une nouvelle génération
|
| 96 |
-
tokenLabels = [];
|
| 97 |
-
tpsData = [];
|
| 98 |
-
// Optionnel : Réinitialiser le graphique ici
|
| 99 |
-
}
|
| 100 |
-
|
| 101 |
-
if (status === 'update' && tps) {
|
| 102 |
-
// On ajoute le numéro du token actuel et la vitesse reçue
|
| 103 |
-
tokenLabels.push(numTokens);
|
| 104 |
-
tpsData.push(parseFloat(tps.toFixed(2))); // Arrondi à 2 décimales
|
| 105 |
-
|
| 106 |
-
// Mettre à jour le graphique (voir Étape 2)
|
| 107 |
-
updateStressTestChart(tokenLabels, tpsData);
|
| 108 |
-
}
|
| 109 |
-
|
| 110 |
-
if (status === 'complete') {
|
| 111 |
-
console.log("Génération terminée !");
|
| 112 |
-
}
|
| 113 |
-
};
|
| 114 |
-
const ctx = document.getElementById('stressTestChart').getContext('2d');
|
| 115 |
-
let stressChart;
|
| 116 |
-
|
| 117 |
-
// Fonction pour initialiser ou rafraîchir le graphique
|
| 118 |
-
function updateStressTestChart(labels, data) {
|
| 119 |
-
if (stressChart) {
|
| 120 |
-
// Si le graphique existe déjà, on met simplement à jour ses données
|
| 121 |
-
stressChart.data.labels = labels;
|
| 122 |
-
stressChart.data.datasets[0].data = data;
|
| 123 |
-
stressChart.update('none'); // 'none' pour désactiver l'animation de transition et gagner en performance pendant le stream
|
| 124 |
-
} else {
|
| 125 |
-
// Création initiale du graphique
|
| 126 |
-
stressChart = new Chart(ctx, {
|
| 127 |
-
type: 'line',
|
| 128 |
-
data: {
|
| 129 |
-
labels: labels,
|
| 130 |
-
datasets: [{
|
| 131 |
-
label: 'Vitesse de génération (Tokens/Sec)',
|
| 132 |
-
data: data,
|
| 133 |
-
borderColor: 'rgb(75, 192, 192)',
|
| 134 |
-
backgroundColor: 'rgba(75, 192, 192, 0.1)',
|
| 135 |
-
borderWidth: 2,
|
| 136 |
-
tension: 0.2, // Légère courbe pour le rendu visuel
|
| 137 |
-
pointRadius: 0 // Cache les points individuels pour optimiser les performances si beaucoup de tokens
|
| 138 |
-
}]
|
| 139 |
-
},
|
| 140 |
-
options: {
|
| 141 |
-
responsive: true,
|
| 142 |
-
scales: {
|
| 143 |
-
x: {
|
| 144 |
-
title: {
|
| 145 |
-
display: true,
|
| 146 |
-
text: 'Nombre de Tokens Générés'
|
| 147 |
-
}
|
| 148 |
-
},
|
| 149 |
-
y: {
|
| 150 |
-
beginAtZero: true,
|
| 151 |
-
title: {
|
| 152 |
-
display: true,
|
| 153 |
-
text: 'Tokens / Seconde'
|
| 154 |
-
}
|
| 155 |
-
}
|
| 156 |
-
},
|
| 157 |
-
plugins: {
|
| 158 |
-
legend: {
|
| 159 |
-
position: 'top',
|
| 160 |
-
},
|
| 161 |
-
title: {
|
| 162 |
-
display: true,
|
| 163 |
-
text: 'Performances WebGPU en Temps Réel'
|
| 164 |
-
}
|
| 165 |
-
}
|
| 166 |
-
}
|
| 167 |
-
});
|
| 168 |
-
}
|
| 169 |
-
}
|
| 170 |
`<table>
|
| 171 |
<thead>
|
| 172 |
`+o+`</thead>
|
|
|
|
| 84 |
`}listitem(s){var a;let o="";if(s.task){const f=this.checkbox({checked:!!s.checked});s.loose?((a=s.tokens[0])==null?void 0:a.type)==="paragraph"?(s.tokens[0].text=f+" "+s.tokens[0].text,s.tokens[0].tokens&&s.tokens[0].tokens.length>0&&s.tokens[0].tokens[0].type==="text"&&(s.tokens[0].tokens[0].text=f+" "+Zt(s.tokens[0].tokens[0].text),s.tokens[0].tokens[0].escaped=!0)):s.tokens.unshift({type:"text",raw:f+" ",text:f+" ",escaped:!0}):o+=f+" "}return o+=this.parser.parse(s.tokens,!!s.loose),`<li>${o}</li>
|
| 85 |
`}checkbox({checked:s}){return"<input "+(s?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph({tokens:s}){return`<p>${this.parser.parseInline(s)}</p>
|
| 86 |
`}table(s){let o="",a="";for(let p=0;p<s.header.length;p++)a+=this.tablecell(s.header[p]);o+=this.tablerow({text:a});let f="";for(let p=0;p<s.rows.length;p++){const y=s.rows[p];a="";for(let k=0;k<y.length;k++)a+=this.tablecell(y[k]);f+=this.tablerow({text:a})}return f&&(f=`<tbody>${f}</tbody>`),
|
|
|
|
|
|
|
|
|
|
| 87 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 88 |
`<table>
|
| 89 |
<thead>
|
| 90 |
`+o+`</thead>
|