Javare commited on
Commit
81580ff
·
verified ·
1 Parent(s): b99373a

Update assets/index-Btti6dN2.js

Browse files
Files changed (1) hide show
  1. assets/index-Btti6dN2.js +85 -1
assets/index-Btti6dN2.js CHANGED
@@ -83,7 +83,91 @@ ${this.parser.parse(s)}</blockquote>
83
  `+f+"</"+p+`>
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>`),`<table>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
87
  <thead>
88
  `+o+`</thead>
89
  `+f+`</table>
 
83
  `+f+"</"+p+`>
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>
173
  `+f+`</table>