-
Notifications
You must be signed in to change notification settings - Fork 273
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
provide Olm as a natively linked module for riot-desktop #888
Comments
@ara4n what does this get us? I don't understand well enough to put any sort of priority on this :P |
it'd make crypto run ~50x faster on desktop, and make it more resistant to timing attacks. but given we need crypto to run at a usable speed on the web anyway the 50x speedup is probably not going to change much - it'd more be a case of using less cpu. it's prolly p3 e2e feature. |
I'd prioritise element-hq/element-web#2503 and matrix-org/olm#3 over this. |
I've created a preliminary native module for olm, available at https://gitlab.com/uhoreg/olm-native. I haven't done much checking to make sure that it's correct, other than running the olm unit tests, but the results show a definite improvement in speed. On my computer: transpiled JavaScript:
native library:
I ran the test a few times, and the numbers are fairly consistent. With the native version, megolm is about 37 times faster, and olm is about 250 times faster. |
About packaging native stuff with electron: Check my spellcheck pr. I already added commands in there to recompile everything to glue it to the correct electron on packaging |
Pardon my thickness, but isn't this WASM? |
I think this issue is suggesting we use Olm as a native binary library, such as *.dll / *.dylib / *.so and friends, with some JS bindings as an interface layer (instead of compiling the C code to WASM). That appears to be what https://gitlab.com/uhoreg/olm-native works towards. |
I don't think this is relevant to Element desktop any more. |
No description provided.
The text was updated successfully, but these errors were encountered: