Обсуждение статьи "Методы сортировки и их визуализация с помощью MQL5"

 

Опубликована статья Методы сортировки и их визуализация с помощью MQL5:

Для работы с графикой в MQL5 создана специальная библиотека Graphic.mqh. В статье описан пример ее практического применения и поясняется сама суть сортировок. По каждой сортировке существует как минимум отдельная статья, а по ряду из них уже опубликованы целые исследования, поэтому здесь описывается лишь общая идея.

Для работы с графиками в MQL5 разработана специальная библиотека Graphic.mqh. Она уже описана в статьях: в частности, здесь подробно рассказывается о возможностях библиотеки. Моя задача — описать ее точки приложения, практическое применение, а также подробно рассказать о самих сортировках. По каждой сортировке существует как минимум отдельная статья, а по ряду из них —  целые исследования, поэтому опишу лишь общую идею.


Автор: Дмитрий Трошин

 
Мне показалось, что модераторы проделали не меньшую работу :)
 
Дмитрий Трошин:
Мне показалось, что модераторы проделали не меньшую работу :)

Которая, тем не менее, не помогла сделать пример нагляднее — запустить 24 сортировки на моем i5 с 16 Гб памяти не получилось =(

 
Andrey Khatimlianskii:

Которая, тем не менее, не помогла сделать пример нагляднее — запустить 24 сортировки на моем i5 с 16 Гб памяти не получилось =(

Попробуй с 12 методами - где-то должно пойти

Вот параметры компьютера, на котором снималось видео

2017.05.25 11:19:34.700 Terminal        Windows 10 Pro (x64 based PC), IE 11.00, UAC, Intel Core i7  920 @ 2.67GHz, RAM: 7215 / 12277 Mb, 
 
Дмитрий Трошин:
Мне показалось, что модераторы проделали не меньшую работу :)

Да, редакторы, они беспощадны)

В общем интересно, но не так представлял себе эту визуализацию. Смотреть интересно, но не дает понимания метода.

 
Rashid Umarov:

Попробуй с 12 методами - где-то должно пойти

Вот параметры компьютера, на котором снималось видео

Да, с 10 идет у меня.

Я о том, что не супер-сложная на первый взгляд задача визуализации параллельных сортировок так и не решена.

Возможно, первый взгляд ошибочен )

 
Andrey Khatimlianskii:

Возможно, первый взгляд ошибочен )

Есть как минимум  одно другое решение на базе подхода, описанного в статье - разнести все сортировки по отдельным графикам в виде скрипов (используем ChartApplyTemplate) с использованием Sleep().

Другое решение более сложное - экономное использование функционала CCanvas. Более скрупулезное и затратное по времени программирования, как мне кажется.

 
Andrey Khatimlianskii:

Я о том, что не супер-сложная на первый взгляд задача визуализации параллельных сортировок так и не решена.

24 потока сортировки на 8 ядер, да плюс еще отдельные потоки отрисовки и других задач в операционной системе - любой комп могут поставить в неудобное положение.
 
Rashid Umarov:
24 потока сортировки на 8 ядер, да плюс еще отдельные потоки отрисовки и других задач в операционной системе - любой комп могут поставить в неудобное положение.
Это действительно сложная задача? 24 сортировки массива из 100 элементов? Я действительно не могу понять.
 
Все 24 потока одновременно пытаются получить ресурсы 8 ядер. Как это разрулить таким образом, чтобы всем хватало?
 
Rashid Umarov:
Все 24 потока одновременно пытаются получить ресурсы 8 ядер. Как это разрулить таким образом, чтобы всем хватало?

Понятия не имею. А как это разруливается в ОС?

Или проблема в том, что первые 8 процессов занимают свои ядра на 100% и не пускают к ним ни кого другого?