On UI CPU usage, it's based on chromium. Does chrome use similar resources when running? If so, there's not much we can do about it. If not, we can take note. There are a number of things in the UI that are probably not very efficient. Ongoing, we are working to improve performance.
It turned out that it's so CPU-hungry only while siad is downloading the blockchain.CPU usage isn't a problem when it's fully synced. Perhaps siad sends lots of events during syncing or something like that...
Also, how many minutes/hours did you wait for it to get unstuck?
So I deleted consensus.db and started over. It got stuck at 21664 again, but after some time went back to 205xx, then went further to 22040 and got stuck again for many hours (I tried restarting, reconnecting, etc).
I then tried a faster connection, and it helped: after 5 minutes or so it went further and eventually got fully synced.
To me it looks like there are several blockchain forks and siad is having a problem getting the latest one on a slowish connection.
So now I tried uploading and downloading some files. It worked, but I found several issues:
1. It's hard to figure out how much storing a file costs (or have costed, after the fact). (*)
2. I noticed it generates a bunch of transactions with wildly different sums, e.g. one is 0.02 S another is 5.4 S. Is that due to different prices or size is different too?
3. No information about redundancy.
4. Contract duration is specified in blocks, which is cryptic. I figured out that inter-block time is probably 10 minutes, then 6000 blocks is ~42 days.
5. The share box, after you opened it, it's impossible to close without restarting UI.
6. i find it strange that transaction list is not automatically updated, looks kinda confusing.
7. "Estimated competitive price" fluctuates wildly (I saw 5, 750 and some really huge number) and doesn't seem to be related to estimated cost on file tab. (E.g. estimated price is 750 S when cost is 220 S).
8. No notification after download is complete.
9. Most users will probably want to store files for a duration longer than a month, will it automatically refresh files? Can it refresh without downloading them? Do they need to be re-uploaded each time?
*: I tried to calculate it from balance changes, apparently it shows I spent 64 S so far to store 3 files 33 MB of files. This implies a cost of 1939 S / GB, which is quite a bit more than 220 S / GB estimate it shows now.
But actually there was a glitch: The first time I tried to upload these files I had to abort I had to abort it and restart siad at "processing" phase due to system thrashing on low memory, and it seems like money was spent even though upload wasn't completed... But it still doesn't explain difference in price, unless it was spending money repeatedly. Transaction list looks weird, there is a lot of small transactions, but also three spending 6.84 S (three transactions with identical values but different hash and time) and two spending 8.15 S.