More code path predictions.
@@ -1,11 +1,11 @@ | ||
1 | 1 | |
2 | 2 | *** ChibiOS/RT Test Suite |
3 | 3 | *** |
4 | -*** Compiled: Jun 11 2021 - 11:12:01 | |
4 | +*** Compiled: Jun 11 2021 - 13:55:11 | |
5 | 5 | *** Platform: STM32G4 Hi-resolution Line |
6 | 6 | *** Test Board: STMicroelectronics STM32 Nucleo64-G474RE |
7 | 7 | *** |
8 | -*** Text size: 50964 bytes | |
8 | +*** Text size: 51060 bytes | |
9 | 9 | *** RO data size: 9904 bytes |
10 | 10 | *** Data size: 220 bytes |
11 | 11 | *** BSS size: 5400 bytes |
@@ -189,35 +189,35 @@ | ||
189 | 189 | === Test Sequence 12 (Benchmarks) |
190 | 190 | ---------------------------------------------------------------------------- |
191 | 191 | --- Test Case 12.1 (Messages performance #1) |
192 | ---- Score : 923906 msgs/S, 1847812 ctxswc/S | |
192 | +--- Score : 1062491 msgs/S, 2124982 ctxswc/S | |
193 | 193 | --- Result: SUCCESS |
194 | 194 | ---------------------------------------------------------------------------- |
195 | 195 | --- Test Case 12.2 (Messages performance #2) |
196 | ---- Score : 794387 msgs/S, 1588774 ctxswc/S | |
196 | +--- Score : 923906 msgs/S, 1847812 ctxswc/S | |
197 | 197 | --- Result: SUCCESS |
198 | 198 | ---------------------------------------------------------------------------- |
199 | 199 | --- Test Case 12.3 (Messages performance #3) |
200 | ---- Score : 794386 msgs/S, 1588772 ctxswc/S | |
200 | +--- Score : 923906 msgs/S, 1847812 ctxswc/S | |
201 | 201 | --- Result: SUCCESS |
202 | 202 | ---------------------------------------------------------------------------- |
203 | 203 | --- Test Case 12.4 (Context Switch performance) |
204 | ---- Score : 2893608 ctxswc/S | |
204 | +--- Score : 2943712 ctxswc/S | |
205 | 205 | --- Result: SUCCESS |
206 | 206 | ---------------------------------------------------------------------------- |
207 | 207 | --- Test Case 12.5 (Threads performance, full cycle) |
208 | ---- Score : 515147 threads/S | |
208 | +--- Score : 518288 threads/S | |
209 | 209 | --- Result: SUCCESS |
210 | 210 | ---------------------------------------------------------------------------- |
211 | 211 | --- Test Case 12.6 (Threads performance, create/exit only) |
212 | ---- Score : 639095 threads/S | |
212 | +--- Score : 643936 threads/S | |
213 | 213 | --- Result: SUCCESS |
214 | 214 | ---------------------------------------------------------------------------- |
215 | 215 | --- Test Case 12.7 (Mass reschedule performance) |
216 | ---- Score : 289115 reschedules/S, 1734690 ctxswc/S | |
216 | +--- Score : 290102 reschedules/S, 1740612 ctxswc/S | |
217 | 217 | --- Result: SUCCESS |
218 | 218 | ---------------------------------------------------------------------------- |
219 | 219 | --- Test Case 12.8 (Round-Robin voluntary reschedule) |
220 | ---- Score : 1752560 ctxswc/S | |
220 | +--- Score : 1761640 ctxswc/S | |
221 | 221 | --- Result: SUCCESS |
222 | 222 | ---------------------------------------------------------------------------- |
223 | 223 | --- Test Case 12.9 (Virtual Timers set/reset performance) |
@@ -249,11 +249,11 @@ | ||
249 | 249 | |
250 | 250 | *** ChibiOS OS Library Test Suite |
251 | 251 | *** |
252 | -*** Compiled: Jun 11 2021 - 11:12:01 | |
252 | +*** Compiled: Jun 11 2021 - 13:55:11 | |
253 | 253 | *** Platform: STM32G4 Hi-resolution Line |
254 | 254 | *** Test Board: STMicroelectronics STM32 Nucleo64-G474RE |
255 | 255 | *** |
256 | -*** Text size: 50964 bytes | |
256 | +*** Text size: 51060 bytes | |
257 | 257 | *** RO data size: 9904 bytes |
258 | 258 | *** Data size: 220 bytes |
259 | 259 | *** BSS size: 5400 bytes |
@@ -373,10 +373,10 @@ | ||
373 | 373 | static inline ch_priority_queue_t *ch_pqueue_insert_behind(ch_priority_queue_t *pqp, |
374 | 374 | ch_priority_queue_t *p) { |
375 | 375 | |
376 | - /* Scanning priority queue.*/ | |
376 | + /* Scanning priority queue, the list is assumed to be mostly empty.*/ | |
377 | 377 | do { |
378 | 378 | pqp = pqp->next; |
379 | - } while (pqp->prio >= p->prio); | |
379 | + } while (unlikely(pqp->prio >= p->prio)); | |
380 | 380 | |
381 | 381 | /* Insertion on prev.*/ |
382 | 382 | p->next = pqp; |
@@ -402,10 +402,10 @@ | ||
402 | 402 | static inline ch_priority_queue_t *ch_pqueue_insert_ahead(ch_priority_queue_t *pqp, |
403 | 403 | ch_priority_queue_t *p) { |
404 | 404 | |
405 | - /* Scanning priority queue.*/ | |
405 | + /* Scanning priority queue, the list is assumed to be mostly empty.*/ | |
406 | 406 | do { |
407 | 407 | pqp = pqp->next; |
408 | - } while (pqp->prio > p->prio); | |
408 | + } while (unlikely(pqp->prio > p->prio)); | |
409 | 409 | |
410 | 410 | /* Insertion on prev.*/ |
411 | 411 | p->next = pqp; |