Я хотел бы написать a sandbox virtual machine for executing a compiled program. Как вы думаете: какой из этих двух языков лучше использовать, если мы рассмотрим производительность? Или, может быть, вы предлагаете другой?Виртуальная машина для песочницы для приложения (C++ vs. C#)
1
A
ответ
1
Производительность вашей виртуальной машины будет значительно больше подвержена влиянию того, как вы ее реализуете, а не на каком языке. Если вы реализуете его так же, как в C# и C++, производительность будет сопоставимой.
То, что говорит в пользу C++, заключается в том, что вы можете напрямую выполнять части собственного кода из вашего изолированного приложения. В C# можно сделать то же самое, но для этого требуется некоторый перевод и испускание соответствующего байтового кода с Reflection.Emit
.
1
Вы не можете сделать это в C#, я думаю, потому что есть несколько вещей, которые потребуют ассемблера, а не говоря о неуправляемом коде. Таким образом, C++ с некоторым ассемблером будет единственным вариантом.