Можно ли заставить компоновщик ndk работать с включенной многопоточностью? - PullRequest
1 голос
/ 09 февраля 2020

у нас есть гигантская библиотека, состоящая из миллионов строк кода, она предназначена для iOS и Android.

При iOS связывание выполняется очень быстро, несколько секунд. * * * * * * * * * * * * * * * * * * *

* * * * * * * * * * * * * * * * * * *} *} * * * * * * * * * * * * * * *} * * * * * * * * * * * * * * 1004]. Идентификатор активности NDK на мониторе активности показал, что он использует один поток.

Есть ли способ заставить его использовать многопоточность? (В надежде на значительное повышение скорости)

Обратите внимание, что мы используем CMake с генератором ниндзя.

1 Ответ

0 голосов
/ 09 февраля 2020

Хмм Я обнаружил следующее в январской версии r21 заметок о выпуске NDK:

LLD is now available for testing. 
AOSP is in the process of switching to using LLD by default and the NDK will follow (timeline unknown). 
Test LLD in your app by passing -fuse-ld=lld when linking

Источник: https://developer.android.com/ndk/downloads/revision_history

Я подтверждаю, что LLD использовал 9 потоков на моем MacBook Pro (процессор Core i7 2,9 ГГц) Соединение, которое раньше занимало 4+ минуты, занимает меньше минуты, потрясающе!

...