ОБНОВЛЕНИЕ
Чтобы уточнить, у меня вопрос не в том, правильно ли я делаю код, я уже понял после профилирования, что я не был.
Вопрос в следующем: Предполагается ли, что SBCL загружает 100% ЦП после запуска программы, независимо от того, что вы сделали хорошо или плохо? И , это вы, ребята, видели раньше? - Т.е. известная ошибка?
Я бы привел воспроизводимый пример, если бы мог, но эта перегрузка ЦП происходит только иногда (и я нигде не использовал многопоточные конструкции).
Извините за с первого раза не ясно:)
-----
Ошибка?
У меня иногда возникают проблемы с использованием Lisp при длительной работе 100% CPU времени после запуска программ.
Обновление: сейчас оно использовало 100% ЦП в течение 40 минут после завершения программы.
Среда: SBCL, rowwell, emacs + SLIME
У меня вопрос, если это известная ошибка в Common Lisp, о которой я не знаю и может быть связана с G C?
Context
Это не первый раз что это происходит "случайно", но случается так, что более вычислительные программы, которые занимают много памяти, в конечном итоге используют 100% в течение длительного времени (в данном случае 40 минут) после завершения программы.
рутина однопоточная, поэтому нет возможность выполнения какой-либо задачи в фоновом режиме.
Я не думаю, что для SBCL нормально тратить 40 минут после запуска программы с использованием 100% ЦП. Боюсь, это может быть связано с какой-то ошибкой в G C?
Затем я профилировал программу в SLIME:
![enter image description here](https://i.stack.imgur.com/SYL7k.png)
, и программа была очень медленной (выполнение ~ 20 минут) и много сделала распределений, затем изменил одну строку, и теперь требуется 2 секунды для запуска, просто потому, что я всегда форматировал строку отладки в пустой поток (таким образом генерируя новые строковые представления списка с 100k целыми числами при каждом вызове):
![enter image description here](https://i.stack.imgur.com/IFBsy.png)
(https://github.com/AlbertoEAF/advent_of_code_2019/commit/b37797df772c12c2d409b1c3356cf5b690c8f928)
Это не моя точка зрения, хотя. Несмотря на то, что этот случай крайне некорректен, задача, которую я выполняю, очень проста, и поэтому используемая программа не имеет значения, проблема заключается в нестабильности платформы в сценарии ios, где используется устойчивая тяжелые вычисления и распределение. Есть ли сообщения о таких проблемах с SLIME / SBCL или о каких-то других вещах, о которых я не знаю?
Спасибо!