Коллекции небольших размеров из C5 Generic Collection Library сравнительно медленные - можно ли что-нибудь сделать?

Недавно я тестировал коллекции C5 в C #, и яЯ люблю их функциональность. Для больших коллекций производительность кажется на уровне общих аналогов. Однако для небольших коллекций они значительно медленнее. Я подозреваю, что резкое ухудшение относительной скорости происходит из-за операций с постоянным временем, выполняемых коллекциями C5. Я знаю одну операцию - запуск событий. Может ли это быть причиной плохой работы небольших коллекций? Можно ли это исправить, отключив некоторые функции? Вот' тест производительности:

//Two containers to be tested. 'Test' is a wrapper over decimal.
var arrayList = new C5.ArrayList();
var genericList = new System.Collections.Generic.List();

var toBeAdded = new List();
var watch = new Stopwatch();

//Fill both tested containers
for (int i = 10; i > 0; i--)
{
    var test = new Test(i);
    genericList.Add(test);
    arrayList.Add(test);
}

//Fill the container the range of which will be inserted to the tested containers
for (int i = 5; i > 0; i--)
{
    toBeAdded.Add(new Test(i+0.5m));
}


//Test the speed of adding a range of values and sorting for both containers
watch.Start();
genericList.AddRange(toBeAdded);
Console.WriteLine("Adding values for generic list: {0} ticks", watch.ElapsedTicks);
watch.Restart();
genericList.Sort();
Console.WriteLine("Sorting for generic list: {0} ticks", watch.ElapsedTicks);

watch.Restart();
arrayList.AddAll(toBeAdded);
Console.WriteLine("Adding values for C5 ArrayList: {0} ticks", watch.ElapsedTicks);
watch.Restart();
arrayList.Sort();
Console.WriteLine("Sorting for C5 ArrayList: {0} ticks", watch.ElapsedTicks);

и тестовый класс:

class Test : IComparable
{
    private decimal _number;
    internal Test(decimal aNumber)
    {
        _number = aNumber;
    }        
    public int CompareTo(object obj)
    {
        var test = (Test) obj;
        return _number.CompareTo(test._number);
    } 
}

Выход:

Adding values for generic list: 56 ticks
Sorting for generic list: 770 ticks
Adding values for C5 ArrayList: 3575 ticks
Sorting for C5 ArrayList: 4815 ticks

И C5, и тест являются сборками Release. Соотношение скоростей около 60x для вставки и 6x для сортировки одинаково между тестами.

РЕДАКТИРОВАТЬ: вышеуказанный тест был запущен из VS. Результаты для запуска вне VS:

Adding values for generic list: 54 ticks
Sorting for generic list: 2135 ticks
Adding values for C5 ArrayList: 5765 ticks
Sorting for C5 ArrayList: 5198 ticks

Опять же, соотношение скоростей около 100x для вставки и 2x для сортировки согласовано между тестовыми прогонами.

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

РЕДАКТИРОВАТЬ 2: Согласно ответу Iridium, я выполнил тест в цикле (поместив всю логику, включая создание контейнера в цикл, чтобы исключить любые приемы оптимизации компилятора), отбросил первые два результата и усреднил последующие 1000 результатов. Вот они:

Adding values for generic list: 1.09 ticks
Sorting for generic list: 14.07 ticks
Adding values for C5 ArrayList: 1.92 ticks
Sorting for C5 ArrayList: 13.69 ticks

Теперь вставка C5 происходит на 76% медленнее, а сортировка выполняется наравне со списком. Тот'достаточно хорошо для моей цели. Я'Я принимаю Иридиумответ. Тем не менее, если у кого-то есть понимание медленной вставки, пожалуйста, поделитесь им. Спасибо всем за помощь.

Ответы на вопрос(1)

Ваш ответ на вопрос