Курсы по программированию

Формула программиста
основатель — Волосатов Евгений Витольдович
Приходи на 3-дневный мастер-класс по C#
Вебинар «Мастер класс - две программы» начнётся через 1  день 4 час. 53 мин.

Коллекция графов / Array vs List

  • На этом уроке мы сравним эффективность использования
    ArrayList, List<> и простого массива.
    Победителем окажется типизированная коллекция List<>.
    Очень интеренсо сравнивать эффективность,
    нам в этом поможет флагманский класс Stopwatch.
  • Дата отправки отчёта: 15 апреля 2016 г.
  • Задание выполнено: за 20 мин.
  • Чему научился: Сoздaл три отдeльныe фyнкции List0(), List1(), List2(), которые реализуют соответственно базовый массив, ArrayList и типизированный список List<T>.
  • Что было сложным: Ничего.
  • Комментарии: В своем случае я я выбрал такой набор операций:
    for (int i = 0; i < length; i++)
                    al.Add(length - i);
    В общем случаем я заполняю массив / коллекцию по спадению от 1 000 000 до 1. Потом вызываю метод сортировки Sort() или Array.Sort(T[] array), который работает с худшим вариантом для сортировки, потому, что ему нужно полностью переставить все элементы в обратном порядке. И измеряю время которое затрачивается на это. Результаты показывают, что  на сортировку типизированного списка List<T> затрачивается не много больше времени, чем для обычного массива (и учтите, что при добавлении элементов в список он часто увеличивал свою емкость). А коллекция ArrayList ужасно проигрывает по времени всем. Результаты представлены на 1 скриншоте.
    Во 2м случае тестировки я немного выровнял шансы и указывал при инициализации коллекций емкость в 1 000 000 элементов. Результаты тестировки представлены на 2м скриншоте.
  • Оценка видео-уроку:
Отчёт от 4467 за Коллекция графов / Array vs List


Отчёт от 4467 за Коллекция графов / Array vs List




Оцени работу

 
Сохранить страницу:

1. Евгений Волосатов
Евгений Волосатов
ответить
→  Alcatraz  # Коллекция графов / Array vs List / 2016-04-15 10:21

Классный разбор урока, молодец!



Начинаем практику по языку C#




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.
Научился: наглядно увидел в сравнении скорость работы массива, arrayList и типизированного листа массив самый быстрый(но у него есть преимущество, задан размер ), второй типизированный лист и последний - arrayList
сравнил также метод Clear, естественно работает быстрее у типизированного List
Научился: Увидел разницу во времени работы. ArrayList работает дольше(перед тем как записать он приводит к нужному типу). В то время как List это делать не нужно и поэтому он работает куда быстрей. Где раньше был using System.Diagnostics ? Почему до этого мы брали время с DateTime.Now.Milliseconds.