quick path for single bar
Vladimir Bauer
3 years ago
| 364 | 364 | s.pool = append(s.pool, b) |
| 365 | 365 | } |
| 366 | 366 | |
| 367 | wg.Add(1) | |
| 368 | go func() { | |
| 369 | for _, b := range s.pool { | |
| 370 | heap.Push(&s.bHeap, b) | |
| 371 | } | |
| 372 | wg.Done() | |
| 373 | }() | |
| 367 | switch l := len(s.pool); l { | |
| 368 | case 1: | |
| 369 | heap.Push(&s.bHeap, s.pool[0]) | |
| 370 | default: | |
| 371 | wg.Add(1) | |
| 372 | go func() { | |
| 373 | for _, b := range s.pool { | |
| 374 | heap.Push(&s.bHeap, b) | |
| 375 | } | |
| 376 | wg.Done() | |
| 377 | }() | |
| 378 | } | |
| 374 | 379 | |
| 375 | 380 | for i := len(s.rows) - 1; i >= 0; i-- { |
| 376 | 381 | _, err := cw.ReadFrom(s.rows[i]) |