decimal использовать пытался. Но при преобразовании из double замечена пропажа нескольких последних цифр.
Может быть Вы знаете, где посмотреть подобную реализацию или описание? И как сильно это сказывается на производительности?
Дополнил исходную запись большей частью кода. После ряда тестов, действительно проблема выявилась в двух Parallel.For'ах p1 и p2. При том только в них.
Не может такого быть. Потому как от t1 до t2 все идет в одном потоке, других нет. Плюс я что-то еще ни разу не слышал, что бы появлялась гонка потоков после использования Parallel.For.
MethodX это просто пример. На самом деле сначала происходит инициализация массива, потом последовательное вычисление и заполнение через цикл. Просто, как я указал, если остановиться в t1, то массив и тут и в t2 будет содержать верные значения. А если в t1 не останавливаться, то может быть передан как полученный массив, так и фиг знает что и откуда берется. Приложение планируется многопоточным, но, из-за появившихся проблем, на время отладки часть кода работает в обычном режиме.
Нет, этот вариант я отбросил сразу, поскольку Debug и Release версии запускаются одинаково (точнее у них разница в несколько мс, но это от запуска к запуску всегда меняется).
@Akson87 Будет зависеть от того, как запускалось в последний раз: если был простой запуск - считать будет 6с 23мс; если был запуск через анализер - 1с 30мс (т.е. время тоже).
Может быть Вы знаете, где посмотреть подобную реализацию или описание? И как сильно это сказывается на производительности?