Ну, как отладочный инструмент, в Go есть упомянутый в статье execution tracer. Ну и visualiser в Visual Studio показывает только в 2D. Будь это открытый продукт, не вижу причин, почему бы нельзя было добавить поддержку 3-го измерения в визуализацию.
Спасибо. Я тоже считаю, что трехмерные визуализации — слишком недоиспользованный инструмент в обучении. И причина этому — пока ещё большая сложность их создания для рядового человека.
Потому что указанный алгоритм основывается на последовательном вычеркивании чисел, кратных найденному простому. Причем кратность определяется не делением и проверкой остатка, а сложением. См., например, параграф «Решето Эратосфена и однострочники» в Еще раз о поиске простых чисел. Распараллелить этот алгоритм, кстати, весьма нетривиальная задача.
Оригинальный алгоритм, если верить истории, заключался в протыкании дощечки в тех местах, где были написаны составные числа — отсюда и название «решето». Делать это последовательно или параллельно, как «отсчитывать» кратные числа — это детали имплементации, не более.
За линк спасибо, интересно.
Для древних греков немаловажный вопрос заключался в том как определить, является ли число составным: прибавлять (что очень просто — протыкай себе на соответствующий отсчет) или делить (что гораздо сложнее: определите без калькулятора, делится 1077 на 37 или нет? и так на каждом шаге). Насчет параллелизации такого алгоритма тоже вопросы возникают…
В общем, вы мою мысль поняли, а дальше — дело хозяйское. Дискусии разводить повода нет.
Визуализация concurrency в Go с WebGL