-
Notifications
You must be signed in to change notification settings - Fork 67
Description
I've been thinking about how to reduce binary sizes for the libraries, mostly as I am looking forward to adding more clients to the lib, for example the RPC client, the Electrum Streaming Client, and Floresta.
In an attempt to better understand which part of the codebase is contributing to the binary size, I started by removing what I considered was probably the biggest culprits, the clients (partially because they ship with the whole http stack). The data surprised me a little bit.
Current lib size on master (2946cc1) for Android binaries
14M arm64-v8a/libbdkffi.so
9.9M armeabi-v7a/libbdkffi.so
13M x86_64/libbdkffi.soLib size if you remove all clients (Android binaries)
9.5M arm64-v8a/libbdkffi.so
7.0M armeabi-v7a/libbdkffi.so
8.8M x86_64/libbdkffi.soMmmm....
Ok so the above is not quite what I was expecting. Take for example the most important of those, the arm64-v8a. From 14 to 9.5 MB? I was hoping to cut it down by much more.
It turns out that at least for Android, a big part of what's in this 9.5MB binary is the SQLite libary that is shipped wholesale with rusqlite (need more exact size data on this).
I'm not done the investigation on this, but I had enough to open the issue. More to come.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status