Here is another script that tests the camera/SD card speeds using "Burst" (continuous drive mode) to show the differences in write times for JPG & RAW. There are no parameters in this script, just insert the SD card to be tested and run this script. The camera needs to be set to Continuous Drive mode before running the script.
Basically, the script locks the focus, sets the camera to non-RAW (JPG), shoots a 5 shot burst and calculates the average time per shot. The script delays 1 second, then performs the same sequence in RAW. The results are then displayed in milliseconds. The average time for each JPG shot agreed with the speed shown in the Canon manual for my camera. I recommend running the test 3 times to check the results just in case something odd happens during a set.
A typical display will look something like this:
avg time in ms
Burst JPG: 1448
Burst RAW: 3266
Continuous Mode test results from my SX20 IS:
Brand Class JPG RAW
--------- ----- ------ ------
SanDisk 2 1458 6804
PNY 4 1454 3894
SanDisk 10 1448 3266
Extreme
Continuous Mode AF test results from my SX20 IS:
Brand Class JPG RAW
--------- ----- ------ ------
SanDisk 2 1150 6696
PNY 4 1140 3654
SanDisk 10 1150 3068
Extreme
Save the script as bSdSpeedTest.BAS
rem Author SkyWalker9
@title SdSpeed Burst
J=0
R=0
rem lock AutoFocus
set_aflock(1)
rem test amount of time for burst save
e=get_exp_count
E=e+5
set_raw 0
b=get_tick_count
press "shoot_full"
:cont_J
e=get_exp_count
if e<E then goto "cont_J"
release "shoot_full"
a=get_tick_count
J=(a-b)/5
sleep 1000
e=get_exp_count
E=e+5
set_raw 1
b=get_tick_count
press "shoot_full"
:cont_R
e=get_exp_count
if e<E then goto "cont_R"
release "shoot_full"
a=get_tick_count
R=(a-b)/5
rem Display burst results in milliseconds
print "avg time in ms"
print "Burst JPG: "J
print "Burst RAW: "R
rem unlock AutoFocus
set_aflock(0)
end