Здравствуйте, Sinix, Вы писали:
S>Здравствуйте, SergeyY, Вы писали:
SY>>У меня программа, будет работать с длинными целыми.
S>Нормальной быстрой математики под дотнет нет, большинство реализаций ничего кроме фейспалма не вызывают. Как пример.
S>Есть BigInteger, если устраивают тормоза в ~50x по сравнению с int64 — отлично. Если нет — остаются разнообразные обёртки типа MPIR.net, для совсем отчаянных есть gpgpu-обёртки типа CUDAfy.
S>Я бы вытащил числобробилку в натив и не мучался.
Да, видимо придется вытаскивать
весь код на C++, а ассемблерными вставками (кроме UI), производительность для задач алгоритмического характера — важнее всего.
Просто на C# много других полезных и приятных вещей, одна сборка мусора чего стоит.
Вот и было интересно — если бы
можно было , добавить в генерируемый CIL код что то свое (в данном случае — хотя бы просто прочитать регистр RDX в нужный момент),
то я мог бы сделать библиотеку классов для работы с длинной арифметикой гораздо быстрее этих BigInteger-ов, и использовал бы все возможности 64-битных процессоров.
А если нельзя часть CIL добавить, то очень жаль. (с интероп — как сказали, все таки, накладные расходы).
.NET от этого только выиграл бы.