private List<KeyValuePair<int, string>> listArray; private Dictionary<int, string> dictArray;
// Переменные для замера времени выполнения sw1 = new Stopwatch(); sw2 = new Stopwatch(); // Инициализация переменных listArray = new List<KeyValuePair<int, string>>(); dictArray = new Dictionary<int, string>(); // Стартуем замер производительности sw1.Start(); for (int i = 0; i < 1000000; i++) { //Добавляем переменную в массив listArray.Add(new KeyValuePair<int, string>(i, "test")); } // Останавливаем замер производительности sw1.Stop(); // Выводим результат Print("List: " + sw1.ElapsedMilliseconds); // Очищаем список listArray.Clear(); // Стартуем второй счетчик производительности sw2.Start(); // Запускаем второй цикл for (int i = 0; i < 1000000; i++) { dictArray.Add(i, "test"); } // Останавливаем счетчик sw2.Stop(); // Выводим результат Print("Dictionary: " + sw2.ElapsedMilliseconds);
Для сравнения языков MQL5 и QLUA мы написали несколько тестов, которые замеряют скорость выполнения базовых операций.
В тестах использовался компьютер с Windows 7 Professional 64 bit, MetaTrader 5 build 1340 и QUIK версии 7.2.0.45.
Результаты представлены в таблице, где все значения представлены в миллисекундах (чем меньше время, тем лучше):
Название MQL5 QLUA Преимущество MQL5 TestFloat 3 969 273 391 69 раз TestArrays 375 230 768 615 раз TestFibo 1 125 61 110 55 раз TestPiCalculated 2 328 183 812 79 раз TestQuickSort 2 031 211 279 104 раза TestAckermann 828 64 541 78 раз
В последнее время масса писем про то как все хреново в государстве. Да, не просто, конечно. Но, надо бы разбираться по существу. Вот замечательная картинка из блога. Вроде как делается вывод, что производительность труда в «развитых» и других странах в разы отличается:
По оси Х отложена типа длительность рабочего времени одного работника в год, по У, типа производительность труда. Пишу «типа» потому, что именно типа. На самом деле демонстрация того, что экономические данные крутить можно как угодно и выводы делать какие угодно. Но вопрос оказался интересным. Даже без вопроса почему на диаграмме отсутствуют две из шести крупнейших экономик – Китай и Индия, меня в первую очередь интересовали два вопроса: