Порекомендовали бы вы использовать «Общую библиотеку коллекций C5 для C# и CLI», основываясь на своем опыте работы с ней?

StackOverflow https://stackoverflow.com/questions/47432

  •  09-06-2019
  •  | 
  •  

Вопрос

Эта бесплатная библиотека собрана в Копенгагенском ИТ-университете.

http://www.itu.dk/research/c5/

На 9 канале есть видео с одним из авторов.Я пытаюсь научиться использовать эти коллекции, и мне интересно, есть ли у кого-нибудь еще опыт или что вы думаете об этой конкретной библиотеке коллекций для .NET.Нравится ли вам их дизайн, нравится ли вам их производительность и какие у вас с ними были основные проблемы?

Это было полезно?

Решение

Я использовал его раньше и хочу сделать пару замечаний:

  1. Библиотека очень хорошая, очень быстрая и очень полезная.В ней есть множество очень хороших структур данных, о некоторых из которых я не знал до того, как начал использовать эту библиотеку.
  2. Это открытый исходный код!Это огромное преимущество.
  3. Иногда у вас нет именно того, что вы хотите.Насколько показал мой опыт, авторы библиотеки решили действовать очень нетерпимо к ошибкам, создавая исключения по всему.Это заставило меня добавить несколько отказоустойчивых методов.

В целом, очень хорошая библиотека с продвинутыми структурами данных.К сожалению, поддержки очень мало, о чем можно судить по тому, что новые релизы (исправления ошибок и т. д.) составляют где-то от 6 месяцев до года.

Примечание: Начиная с Mono 2.0, C5 в комплекте как сторонний API, что я считаю прекрасным проявлением веры в продукт команды Mono.

Другие советы

Я использую библиотеку C5 уже некоторое время и с большим успехом.Я считаю, что C5 предлагает большие преимущества при программировании интерфейса.Например, в System.Collections.Generic, IList интерфейс не обеспечивает всех функций ArrayList и LinkedList реализации.И наоборот, в C5 вы можете получить доступ ко всем функциям ArrayList и LinkedList просто удерживая C5.IList.

Кроме того, первоначальные авторы уделили большое внимание документированию асимптотической скорости многих важных операций, таких как подсчет коллекций, содержание и индексирование.Библиотека внутренне использует эти свойства при выполнении операций между коллекциями, чтобы определить, какая коллекция будет быстрее в качестве «актера».

Кроме того, хотя книга документации по C5 давно не обновлялась, она представляет собой замечательный ресурс, предоставляющий четкую документацию по библиотеке.

Вдобавок к этому очки Омера ван Клётена.

Лицензия с открытым исходным кодом — MIT (сопоставима с лицензией BSD). Это означает, что если вам нужно внести изменения в библиотеку, вам не нужно открывать исходный код этих изменений.(это может быть проблемой некоторых компаний).Для лицензий типа GPL это может быть проблемой.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top