почему тогда сортировка на листе происходит быстрее
Потому что встроенные функции оптимизированы на уровне исходного языка и его компилятора. А ты (пользователь VBA) пишешь интерпретируемый код.
Впрочем есть ещё возможность ускорить твой qSort. Например, работать не с динамическим, а со статическим массивом (заранее отбить из кучи область памяти для сортировок). И переписать работу с этим массивом, используя API. Как пример - когда нужно поменять местами две строки массива, MoveMemoryEx() однозначно выиграет у любой интерпретации кода.
почему тогда сортировка на листе происходит быстрее
Потому что встроенные функции оптимизированы на уровне исходного языка и его компилятора. А ты (пользователь VBA) пишешь интерпретируемый код.
Впрочем есть ещё возможность ускорить твой qSort. Например, работать не с динамическим, а со статическим массивом (заранее отбить из кучи область памяти для сортировок). И переписать работу с этим массивом, используя API. Как пример - когда нужно поменять местами две строки массива, MoveMemoryEx() однозначно выиграет у любой интерпретации кода.AndreTM
Skype: andre.tm.007 Donate: Qiwi: 9517375010
Сообщение отредактировал AndreTM - Пятница, 24.10.2014, 00:03