I hear compilers are "a thing" these days.
Almost every crypto API is synchronous. generally do network I/O asynchronously & crypto synchronously. Only when there's a large batch of asymmetric crypto operations (e.g. X.509 cert validation) is anything made async. This is how your (and every) browser works, for example.
-
-
Although I shouldn't have to say so, we're all aware of jank. It's an issue for network I/O threads too, not just UI responsiveness (network I/O jank ultimately leads to UI jank) and we wouldn't do it this way if it were actually problematic.
-
Suggestion: Pick your max acceptable latency for a blocking op. Take your worst-performing (mobile) device. Measure how many crypto ops (e.g. 1KB SHA-256, 4KB AES-GCM) operations you can do within that window. You can approximate this by just running `bssl speed` on your laptop.
End of conversation
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.