go: less bound checking.
go: arrays are values.
go: split the quite large sd_update.