Я пытаюсь создать приложение с интенсивными вычислениями в Unity. Итак, я решил реализовать наиболее интенсивные операции на более быстро компилируемых языках. Для этого я решил провести простой тест: три реализации функции, вычисляющей n простых чисел, одну на C# внутри Unity, другую на Rust и еще одну на C, и измерить их производительность для миллиона чисел и времени. они используют секундомер.
Я хотел знать, будет ли производительность Rust или C/C++ немного лучше или намного лучше. Итак, я написал реализации очень похожим образом, скомпилировал библиотеки DLL, импортировал их как плагины и, ну... меня ждал настоящий сюрприз:
Код: Выделить всё
CountPrimesC :: Calculated 1000000 primes in 2312 ms
CountPrimesRust :: Calculated 1000000 primes in 3731 ms
CountPrimesUnity :: Calculated 1000000 primes in 2273 ms
Теперь я пытаюсь понять, почему производительность этих языков, используемых для написания ядра операционной системы, настолько низка.
Есть идеи?
Подробнее здесь:
https://stackoverflow.com/questions/783 ... thin-unity