Search Issue Tracker
Postponed means that the issue was either a feature request or something that requires major refactoring on our side. Since that makes the issue not actionable in the close future we choose to close it as Postponed and add it on our internal roadmaps and technical debt pages instead.
Postponed
Votes
41
Found in
2018.4
2019.4
2019.4.1f1
2020.1
2020.2
Issue ID
1264028
Regression
No
[IL2CPP] IL2CPP Scripting Backend is a lot slower than Mono when performing operations with IList<byte>
How to reproduce:
1. Open the attached "1264028 repro" project
2. Open Build Settings and make sure that "Test IList" Scene is the only selected Scene for build
3. Build and Run the project
4. In the built game press "Begin Test" button located in the top-right corner
5. Observe and write down the results
6. Close the built game and return to the Editor
7. Change the Scripting Backend from Mono to IL2CPP in the Edit > Project Settings >Player section
8. Repeat steps 3, 4 and 5
Expected results: IL2CPP Scripting Backend performs faster than Mono
Actual results: IL2CPP Scripting Backend results are 3 times slower than Mono
Reproducible with: 2018.4.25f1, 2019.4.5f1, 2020.1.1f1, 2020.2.0a19
Notes:
-The steps can also be completed with the "TesteDecode" Scene being the only selected Scene in the 2nd step. This Scene decodes an h264 file and reports the results
-"TesteArray" Scene highlights the speed differences between operations with byte[], byte, IList<byte>, and ArraySegment<byte>
-Operations with byte arrays "byte[]" usually yield similar results with both Mono and IL2CPP
-Operations with byte pointers "byte" and ArraySegments are quite consistently faster with IL2CPP
-Operations with IList<byte> are on average 3 times slower with IL2CPP
-The performance seems to be consistent between different Unity versions
Comments (1)
-
Peter77
Jul 23, 2020 19:48
Related forum thread:
https://forum.unity.com/threads/il2cpp-super-slow-vs-mono-standalone.932499/
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Unity CIL Linker fails on Player build when persistent listeners have "<" and ">" in their XML attribute names
- ”Lighting data asset ‘LightingData’ is incompatible with the current Unity version…” warnings are thrown when saving Indoors (URP) and Outdoors (URP) Scenes as Scene Templates
- [iOS] The screen blinks when transitioning from custom to Unity splash screen
- [macOS] ”Ignoring depth surface load action as it is memoryless” warnings are thrown when taking Game View Snapshot
- UI Builder Inspector scrolls back up when changes on an expanded but not fully displayed Inspector tab are saved
Resolution Note:
Interface methods calls in IL2CPP are slower then they are in Mono. This is a known issue that we plan to address in the future, although we don't have any ETA for that work to be completed.