Search Issue Tracker

Not Reproducible

Votes

0

Found in

2018.3.2f1

Issue ID

1118351

Regression

No

[Android][IL2CPP] takes 10x longer time linking ARMv7 vs ARM64

IL2CPP

-

Steps:
1. Download attached file ("arm-test.zip")
2. Open "run_test.sh" and change the directories of UnityApp, PlaybackEngines, AndroidNDK
3. Run the script. The script will run IL2CPP on the managed assemblies included, one for ARMv7 and another one for ARM64

Result: ARMv7 takes 10x longer linking time than ARM64.
ARMv7 linking time: 402598 ms
ARM64 linking time: 42036 ms

----
ARMv7:
QAs-Mac-mini:arm-test20183-armv7 qalabmacos10.13$ ./run_test.sh
Building libil2cpp.so with AndroidToolChain
Output directory: /Users/qalabmacos10.13/Downloads/arm-test20183-armv7
Cache directory: /Users/qalabmacos10.13/Downloads/arm-test20183-armv7/il2cpp_cache
ObjectFiles: 1032 of which compiled: 1032
Time Compile: 964043 milliseconds Il2CppTypeDefinitions.cpp
Time Compile: 753062 milliseconds Il2CppAttributes.cpp
Time Compile: 340699 milliseconds Il2CppMethodPointerTable.cpp
Time Compile: 291207 milliseconds Il2CppMetadataUsage.cpp
Time Compile: 66747 milliseconds Il2CppInvokerTable.cpp
Time Compile: 48284 milliseconds Il2CppGenericClassTable.cpp
Time Compile: 27264 milliseconds Il2CppGenericMethodPointerTable.cpp
Time Compile: 27171 milliseconds Bulk_System.Xml_4.cpp
Time Compile: 26527 milliseconds Bulk_Assembly-CSharp_6.cpp
Time Compile: 25833 milliseconds Bulk_Unity.TextMeshPro_1.cpp
Total compilation time: 2128381 milliseconds.

Total link time: 1078926 milliseconds.
Building MapFileParser.exe with ClangToolChain
Mac Dev SDK: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk

Output directory: /Users/qalabmacos10.13/Downloads/arm-test20183-armv7/il2cpp_cache/MapFileParserCache/build
Cache directory: /Users/qalabmacos10.13/Downloads/arm-test20183-armv7/il2cpp_cache/MapFileParserCache
ObjectFiles: 16 of which compiled: 16
Time Compile: 6767 milliseconds SNCMapFileParser.cpp
Time Compile: 5440 milliseconds Driver.cpp
Time Compile: 5411 milliseconds ClangMapFileParser.cpp
Time Compile: 5238 milliseconds MSVCMapFileParser.cpp
Time Compile: 2859 milliseconds HighLevelBreakdown.cpp
Time Compile: 2656 milliseconds AllSymbolSizes.cpp
Time Compile: 2555 milliseconds TenLargestSymbols.cpp
Time Compile: 2457 milliseconds MSVCSectionParser.cpp
Time Compile: 2377 milliseconds GCCMapFileParser.cpp
Time Compile: 1741 milliseconds SymbolInfoWriter.cpp
Total compilation time: 11897 milliseconds.
Total link time: 720 milliseconds.
Cleaned up 0 object files.
Encoding map file using command: /Users/qalabmacos10.13/Downloads/arm-test20183-armv7/il2cpp_cache/MapFileParserCache/build/MapFileParser.exe -format=GCC "/Users/qalabmacos10.13/Downloads/arm-test20183-armv7/libil2cpp.map" "/Users/qalabmacos10.13/Downloads/arm-test20183-armv7/il2cppOutput/Data/SymbolMap"
Cleaned up 0 object files.

---

ARMV64:
QAs-Mac-mini:arm-test20183-arm64 qalabmacos10.13$ ./run_test.sh
/Users/qalabmacos10.13/Downloads/untitled\ folder/arm-test20183-arm64 Building libil2cpp.so with AndroidToolChain
Output directory: /Users/qalabmacos10.13/Downloads/untitled folder/arm-test20183-arm64
Cache directory: /Users/qalabmacos10.13/Downloads/untitled folder/arm-test20183-arm64/il2cpp_cache
ObjectFiles: 1032 of which compiled: 1032
Time Compile: 1083371 milliseconds Il2CppTypeDefinitions.cpp
Time Compile: 775100 milliseconds Il2CppAttributes.cpp
Time Compile: 357203 milliseconds Il2CppMethodPointerTable.cpp
Time Compile: 310776 milliseconds Il2CppMetadataUsage.cpp
Time Compile: 71334 milliseconds Il2CppInvokerTable.cpp
Time Compile: 53438 milliseconds Il2CppGenericClassTable.cpp
Time Compile: 30688 milliseconds Il2CppGenericMethodPointerTable.cpp
Time Compile: 28588 milliseconds Bulk_Assembly-CSharp_6.cpp
Time Compile: 28114 milliseconds Bulk_Unity.TextMeshPro_1.cpp
Time Compile: 26233 milliseconds Bulk_Unity.TextMeshPro_2.cpp
Total compilation time: 2216512 milliseconds.

Total link time: 256525 milliseconds.
Building MapFileParser.exe with ClangToolChain
Mac Dev SDK: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk

Output directory: /Users/qalabmacos10.13/Downloads/untitled folder/arm-test20183-arm64/il2cpp_cache/MapFileParserCache/build
Cache directory: /Users/qalabmacos10.13/Downloads/untitled folder/arm-test20183-arm64/il2cpp_cache/MapFileParserCache
ObjectFiles: 16 of which compiled: 16
Time Compile: 6766 milliseconds SNCMapFileParser.cpp
Time Compile: 5617 milliseconds Driver.cpp
Time Compile: 5460 milliseconds ClangMapFileParser.cpp
Time Compile: 5445 milliseconds MSVCMapFileParser.cpp
Time Compile: 2875 milliseconds HighLevelBreakdown.cpp
Time Compile: 2770 milliseconds AllSymbolSizes.cpp
Time Compile: 2595 milliseconds TenLargestSymbols.cpp
Time Compile: 2457 milliseconds MSVCSectionParser.cpp
Time Compile: 2359 milliseconds GCCMapFileParser.cpp
Time Compile: 1534 milliseconds SymbolInfoWriter.cpp
Total compilation time: 12068 milliseconds.
----
Reproduced with: 2018.3.2f1.

Note:
Tested on Mac Mini, macOS10.13.
Couldn't reproduce on MacBook Pro macOS10.14.2 due to errors.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.