Scanning takes awhile when using a mobile monero wallet like monejuro and cakewallet. Is the scanning of these blocks done on the server side or the client side? Does having a beefy monero node help with scanning speed or does it depend on the client mobile device?
Both Cake and Monerujo wallets use the normal c++ simplewallet implementation.
That means that all your keys for scanning and spending never leave your device. Thats also true for the view key which is needed to identify transactions that where send to your wallet.
Because of that the scanning is done on your wallet. Your device gets all blockheaders and a prune version of every tx. With the prune tx version it can check together with your private view key if a output within the tx belongs to you.
A node is limited by its bandwidth and its internal I/O speed. A bigger node can handle more "clients" since it can handle more requests at the same time.
If you restore a wallet you can improve the scanning speed by setting a date or a block height from which the scan should start.
Scanning is done on your wallet. The node sends block headers to your wallet until it find a transaction that belongs to your private key and then request and scan this transaction.