You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Swift test suite, when run on Android host devices, does not rate-limit itself. That is, if the test suite is configured to use 8 cores (the number of cores on the host machine), it will attempt to run 8 tests in parallel on the connected Android device, even if that device only has 4 cores.
As @gribozavr mentions in this GitHub comment, executing tests on device without limiting concurrency will usually oversubscribe the device and will lead to spurious failures (out of memory issues etc.) That's because the number of device cores is typically much smaller than the number of cores on the host where lit is running.
@gribozavr suggests adding a persistent server that would be responsible for device communication, and have %target-run be a thin client that just asks the server to run a certain command. The server would throttle (or possibly load balance over multiple devices!) as appropriate.
The text was updated successfully, but these errors were encountered:
Additional Detail from JIRA
md5: 7c0c02bafb232c85bbf60c78419e3ead
Issue Description:
The Swift test suite, when run on Android host devices, does not rate-limit itself. That is, if the test suite is configured to use 8 cores (the number of cores on the host machine), it will attempt to run 8 tests in parallel on the connected Android device, even if that device only has 4 cores.
As @gribozavr mentions in this GitHub comment, executing tests on device without limiting concurrency will usually oversubscribe the device and will lead to spurious failures (out of memory issues etc.) That's because the number of device cores is typically much smaller than the number of cores on the host where lit is running.
@gribozavr suggests adding a persistent server that would be responsible for device communication, and have
%target-run
be a thin client that just asks the server to run a certain command. The server would throttle (or possibly load balance over multiple devices!) as appropriate.The text was updated successfully, but these errors were encountered: