Мм.. забыл добавить, хоть у меня задачи и иные, и матрицы маленькие, но
для себя планирую в дальнейшем попробовать переделать на Mono.Simd и Nemerle,
Simd — ускорит математику, а макросы Nemerle позволят более тонко контролировать отдельные операции, как раз в таких случаях. Как видите при раскрытии скорость абсолютно сопоставимая, проблема лишь в массивах дотнета, если у С индекс, это всего лишь смещение от начала, то в дотнете там ещё идут проверки на тип, что замедляет скорость, поэтому при переводе кода с С или С++ я всегда стараюсь при возможности, если производительность критична, делать значения полями, а не массивами и запись
Vector4 constrainVectors[4];
перевожу в
Vector4 constrainVector0;
Vector4 constrainVector1;
Vector4 constrainVector2;
Vector4 constrainVector3;
Естественно это не всегда такое возможно, но по идее Nemerle может убрать этот недостаток.
«История жизни – это, по существу, развитие сознания, которое завуалировано морфологией.» Пьер Тейяр де Шарден