Hi @Bendrix
The doc doesn't mention a specific rate because it varies with how much work you are asking the cloud to do. If you want more speed, you can turn the cloud connection off and turn it back on later if you need it. There is some good data in this thread:
Spark.variables are pull-type requests. When cloud asks your core for the value of a variable, that value is fetched from the memory locations you defined when you setup the Spark.variable and then it is sent to the cloud.
Soft SPI is possible but why would you need it with hardware-based SPI built in?