Spamd is not something which is scheduled. Its run whenever a process calls it.
There is no simple bullet, and a lot of the answer is "it depends on your setup", but (assuming you have a normallish email server/user profile) you can greatly drop the amount of email your server needs to process by introducing grey-listing.
(Greylisting is a lightweight way to drop incoming spam, typically it drops about 80% of spam, and typically most email is spam, so it can make quite a difference. It works by allowing other servers to connect, send the from and to address, and if it does not recognise these it adds them to a list and closes the connection - legitimate mail servers are supposed to try and resend email, a lot of spam systems don't. The downside is that when people first communicate with each other it takes longer for the first email to get through).
I would probably not advise it, but you can also try use blacklists to block email from likely spam sources before it reaches spamassassin. This is much lighter-weight then using spamassassin to check emails, but gives a lot of trust (maybe to much trust) to RBL's.
If your server is sending a lot of email and you are sure its all legit you may want to bypass spam filtering for outgoing mail. If someone sending email through your server is compromised though, you will get blacklisted that much faster - you might be able to somewhat work around this by introducing quotas - eg "cluebringer/policyd".
Lastly, you may be able to gut parts of spamassassin to make it less CPU intensive. This is probably not a good idea though.