Skip to content

Processing Android's browser takes minutes rather than seconds

I don't understand why, but getting some configuration item for Android takes very long, more than two minutes in my machine!

> time rbm/rbm showconf browser build --target release --target torbrowser-android-armv7
[...]
________________________________________________________
Executed in  122.71 secs    fish           external
   usr time  121.11 secs  341.00 micros  121.11 secs
   sys time    1.62 secs   84.00 micros    1.62 secs

Desktop takes only a few seconds:

> time rbm/rbm showconf browser build --target release --target torbrowser-linux-x86_64
[...]
________________________________________________________
Executed in   16.12 secs    fish           external
   usr time   12.49 secs    0.00 micros   12.49 secs
   sys time    0.66 secs  696.00 micros    0.66 secs

I think one of the problems is that we combine all 4 architectures:

> time rbm/rbm showconf geckoview filename --target release --target torbrowser-android-x86_64
[...]
________________________________________________________
Executed in   23.97 secs    fish           external
   usr time   20.62 secs  327.00 micros   20.62 secs
   sys time    0.68 secs   83.00 micros    0.68 secs

> time rbm/rbm showconf geckoview filename --target release --target torbrowser-android-x86_64 --step build_apk
[...]
________________________________________________________
Executed in  116.48 secs    fish           external
   usr time  115.02 secs  306.00 micros  115.02 secs
   sys time    1.47 secs   81.00 micros    1.47 secs

And then I'm wondering if we're missing possible caching strategies, or if we could offload the computation to multiple threads.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information