C# медленнее… я не хочу начинать холивар, я только скажу одно… скорость доступа к памяти за последние 20 лет не так сильно выросла как производительность процессоров, поэтому производительность многих систем сейчас упирается именно в доступ к памяти, поэтому эффективное управление последней может сильно ускорить выполнение программы… вот как это происходит на PS3
это ни в коем случае не касается бизнес-софта, но вот в геймдеве это можно использовать и получать профит…
Если вы не используете усиленно API количество переходников будет очень маленьким…
Для игр весь необходимый код генерируется автоматически, нужно только вставить в нужные места несколько вызовов С++ функций, которые передадут управление в код движка\игры…
software.intel.com/ru-ru/articles/designing-the-framework-of-a-parallel-game-engine/
#include <numeric> #include <functional> #include <iostream> template<class CalcMan, void (CalcMan::*ResultEvent)(int)> class CalculatorCore { public: void Summ(CalcMan* manager, const int* val, int size) const { if (size != 0) { (manager->*ResultEvent)( std::accumulate(val, val + size, 0, std::plus<int>()) ); } } }; class CalculatorManager { public: void Calc1SummResultEvent(int summ) { std::cout << "First calculator result: " << summ << std::endl; } void Calc2SummResultEvent(int summ) { std::cout << "Second calculator result: " << summ << std::endl; } void Run() { CalculatorCore<CalculatorManager, &CalculatorManager::Calc1SummResultEvent> calc1; int vals1[] = {1,2}; calc1.Summ(this, vals1, sizeof(vals1)/sizeof(vals1[1])); CalculatorCore<CalculatorManager, &CalculatorManager::Calc2SummResultEvent> calc2; int vals2[] = {5,6,7,8,9,10,12,15,17}; calc2.Summ(this, vals2, sizeof(vals2)/sizeof(vals1[2])); } }; int main() { CalculatorManager().Run(); std::cin.get(); }оно должно и на вашей байде завестись
а вы просто попробовали…
вот как это происходит на PS3
это ни в коем случае не касается бизнес-софта, но вот в геймдеве это можно использовать и получать профит…
Для игр весь необходимый код генерируется автоматически, нужно только вставить в нужные места несколько вызовов С++ функций, которые передадут управление в код движка\игры…
вот ссылка на описание XCodeBuild