Тормозит функция, но причину найти не могу - C#

Узнай цену своей работы

Формулировка задачи:

Я почти понял, но... Я провел проверку, что в системе работает дольше всего. Выдало Mcode(). Смотрите рисунок, там долго инициализируется массив и очень много раз вызываются функции Mcode() и scrambler(). При этом я-то предполагаю, что scrambler вызывается 1 раз, и это меня задело - я ошибаюсь в чем-то. Строчка string B_sc = scrambler(BinData[itmr - 1]); показывает, что на scrambler(), по-идее, приходит сразу строка, ведь itmr-1 - это такт циклической работы программы, у меня всего прошло только 2 таких такта. А на рисунке можете видеть сумасшедшие числа: 43200. Код:
Листинг программы
  1. ////////////////Генерация М-последовательности для любого информационного бита////////////////
  2. bool[] Mcode()
  3. {
  4. bool[] x = { false, false, false, false, false, false, false, true, false, true, false, true, false, false, true }; // начальная комбинация
  5. bool[] Mcod = new bool[NProc * NbitIn1OFDM]; // если 4*450, то будет 1800
  6. for (int ii = 0; ii < NProc * NbitIn1OFDM; ii++)
  7. {
  8. Mcod[ii] = x[14];
  9. bool buf = x[13] ^ x[14]; //Циклический сдвиг на 1 бит вправо
  10. for (int i = 14; i > 0; i--) { x[i] = x[i - 1]; }
  11. x[0] = buf;
  12. }
  13. return Mcod;
  14. }
  15. ///////////////////////////////////////Скремблер////////////////////////////////////////////
  16. string scrambler(string X)
  17. {
  18. bool[] Mcod = new bool[NProc * NbitIn1OFDM]; string Y = "";
  19. for (int i = 0; i < X.Length; i++)
  20. {
  21. Mcod = Mcode();
  22. int bin_mes_cur = int.Parse(X[i].ToString());
  23. int Mcod_cur = Convert.ToInt16(Mcod[i]);
  24. int Bsc_cur = bin_mes_cur ^ Mcod_cur;
  25. Y += Bsc_cur.ToString();
  26. list.Add(i, X[i]);
  27. listSC.Add(i, Bsc_cur);
  28. }
  29. return Y;
  30. }
Как можно оптимизировать?

Решение задачи: «Тормозит функция, но причину найти не могу»

textual
Листинг программы
  1. Y += Bsc_cur.ToString();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы