Have I made this hardware SPI transfer as fast as possible?

I'll add the machine cycles for you:

00000624 <_Z10updateLEDsv>:
     624:       20 91 c2 01     lds     r18, 0x01C2   (2)
     628:       30 91 c3 01     lds     r19, 0x01C3   (2)
     62c:       40 91 c4 01     lds     r20, 0x01C4   (2)
     630:       50 91 c5 01     lds     r21, 0x01C5   (2)
     634:       80 91 a5 02     lds     r24, 0x02A5   (2)
     638:       90 91 a6 02     lds     r25, 0x02A6   (2)
     63c:       a0 91 a7 02     lds     r26, 0x02A7   (2)
     640:       b0 91 a8 02     lds     r27, 0x02A8   (2)
     644:       28 17           cp      r18, r24   (1)
     646:       39 07           cpc     r19, r25   (1)
     648:       4a 07           cpc     r20, r26   (1)
     64a:       5b 07           cpc     r21, r27   (1)
     64c:       08 f4           brcc    .+2             ; 0x650 <_Z10updateLEDsv+0x2c>   (1/2)
     64e:       31 c0           rjmp    .+98            ; 0x6b2 <_Z10updateLEDsv+0x8e>   (2)
     650:       f8 94           cli   (1)
     652:       ec e9           ldi     r30, 0x9C       ; 156   (1)
     654:       f2 e0           ldi     r31, 0x02       ; 2   (1)
     656:       82 91           ld      r24, -Z   (2)
     658:       8e bd           out     0x2e, r24       ; 46   (1)
     65a:       00 00           nop   (1)
     65c:       00 00           nop   (1)
     65e:       00 00           nop   (1)
     660:       00 00           nop   (1)
     662:       00 00           nop   (1)
     664:       00 00           nop   (1)
     666:       00 00           nop   (1)
     668:       00 00           nop   (1)
     66a:       00 00           nop   (1)
     66c:       00 00           nop   (1)
     66e:       82 e0           ldi     r24, 0x02       ; 2   (1)
     670:       e4 35           cpi     r30, 0x54       ; 84   (1)
     672:       f8 07           cpc     r31, r24   (1)
     674:       81 f7           brne    .-32            ; 0x656 <_Z10updateLEDsv+0x32>   (1/2)
     676:       00 00           nop   (1)
     678:       00 00           nop   (1)
     67a:       00 00           nop   (1)
     67c:       00 00           nop   (1)
     67e:       00 00           nop   (1)
     680:       00 00           nop   (1)
     682:       00 00           nop   (1)
     684:       00 00           nop   (1)
     686:       00 00           nop   (1)
     688:       00 00           nop   (1)
     68a:       8d b5           in      r24, 0x2d       ; 45   (1)
     68c:       8f 77           andi    r24, 0x7F       ; 127   (1)
     68e:       8d bd           out     0x2d, r24       ; 45   (1)
     690:       2a 98           cbi     0x05, 2 ; 5   (2)
     692:       2a 9a           sbi     0x05, 2 ; 5   (2)
     694:       2b 9a           sbi     0x05, 3 ; 5   (2)
     696:       2b 98           cbi     0x05, 3 ; 5   (2)
     698:       78 94           sei   (1)
     69a:       2f 5d           subi    r18, 0xDF       ; 223   (1)
     69c:       3f 4f           sbci    r19, 0xFF       ; 255   (1)
     69e:       4f 4f           sbci    r20, 0xFF       ; 255   (1)
     6a0:       5f 4f           sbci    r21, 0xFF       ; 255   (1)
     6a2:       20 93 a5 02     sts     0x02A5, r18   (2)
     6a6:       30 93 a6 02     sts     0x02A6, r19   (2)
     6aa:       40 93 a7 02     sts     0x02A7, r20   (2)
     6ae:       50 93 a8 02     sts     0x02A8, r21   (2)
     6b2:       08 95           ret   (4)

You can disassemble the .ELF file you know, that gives you the source as well:

avr-objdump -S -z /pathname/whatever.cpp.elf