Сообщение Re[16]: Десериализация в массив или в список? от 25.04.2021 20:10
Изменено 25.04.2021 20:14 Passerby
Re[16]: Десериализация в массив или в список?
Здравствуйте, Serginio1, Вы писали:
S> Общие затраты будут практически те же. Ну на MoveNext и Current миллиард вызовов в секунду. Дольше уходит на парсинг строк.
Так если не сделать сразу коллекцию, то каждый раз когда программе нужны будут данные с IEnumerable будет запускаться новый парсинг (если десериализатор не делает предварительно коллекцию и не кеширует ее). И даже если данные нужны только один раз, какой смысл в IEnumarable, если можно сразу в коллекцию? Только если строка длиннющая или может статься, что не все данные нужны, а только несколько первых, тогда IEnumarable.
S>Можешь закачать куда угодно если заранее известно количество то конечно массив
Как информация о количестве может повлиять на скорость десериализации? Вместо List объявляется массив, в который десериализуется строка. После десериализации можно посмотреть Length. Скорость зависит от того как реализована десериализация в массив: сразу подсчитывается количество элементов и объявляется массив или сначала десериализуется в список, а потом ToArray().
S> Общие затраты будут практически те же. Ну на MoveNext и Current миллиард вызовов в секунду. Дольше уходит на парсинг строк.
Так если не сделать сразу коллекцию, то каждый раз когда программе нужны будут данные с IEnumerable будет запускаться новый парсинг (если десериализатор не делает предварительно коллекцию и не кеширует ее). И даже если данные нужны только один раз, какой смысл в IEnumarable, если можно сразу в коллекцию? Только если строка длиннющая или может статься, что не все данные нужны, а только несколько первых, тогда IEnumarable.
S>Можешь закачать куда угодно если заранее известно количество то конечно массив
Как информация о количестве может повлиять на скорость десериализации? Вместо List объявляется массив, в который десериализуется строка. После десериализации можно посмотреть Length. Скорость зависит от того как реализована десериализация в массив: сразу подсчитывается количество элементов и объявляется массив или сначала десериализуется в список, а потом ToArray().
Re[16]: Десериализация в массив или в список?
Здравствуйте, Serginio1, Вы писали:
S> Общие затраты будут практически те же. Ну на MoveNext и Current миллиард вызовов в секунду. Дольше уходит на парсинг строк.
Так если не сделать сразу коллекцию, то каждый раз когда программе нужны будут данные с IEnumerable будет запускаться новый парсинг (если десериализатор не делает предварительно коллекцию и не кеширует ее). И даже если данные нужны только один раз, какой смысл в IEnumarable, если можно сразу в коллекцию? Только если строка длиннющая или может статься, что не все данные нужны, а только несколько первых, тогда IEnumarable.
S>Можешь закачать куда угодно если заранее известно количество то конечно массив
Как информация о количестве может повлиять на скорость десериализации? Вместо List объявляется массив, в который десериализуется строка. После десериализации можно посмотреть Length. Скорость зависит от того как реализована десериализация в массив: сразу подсчитывается количество элементов и объявляется массив или сначала десериализуется в список, а потом ToArray(). Хотя и в случае десериализации сразу в массив не факт, что это будет быстрее, т.к. подсчет элементов это лишняя операция, а в случае списка просто добавляется следующий элемент, пока не кончится строка.
S> Общие затраты будут практически те же. Ну на MoveNext и Current миллиард вызовов в секунду. Дольше уходит на парсинг строк.
Так если не сделать сразу коллекцию, то каждый раз когда программе нужны будут данные с IEnumerable будет запускаться новый парсинг (если десериализатор не делает предварительно коллекцию и не кеширует ее). И даже если данные нужны только один раз, какой смысл в IEnumarable, если можно сразу в коллекцию? Только если строка длиннющая или может статься, что не все данные нужны, а только несколько первых, тогда IEnumarable.
S>Можешь закачать куда угодно если заранее известно количество то конечно массив
Как информация о количестве может повлиять на скорость десериализации? Вместо List объявляется массив, в который десериализуется строка. После десериализации можно посмотреть Length. Скорость зависит от того как реализована десериализация в массив: сразу подсчитывается количество элементов и объявляется массив или сначала десериализуется в список, а потом ToArray(). Хотя и в случае десериализации сразу в массив не факт, что это будет быстрее, т.к. подсчет элементов это лишняя операция, а в случае списка просто добавляется следующий элемент, пока не кончится строка.