День добрый, всем! > ... По мере тасования памяти скорость падает до 2 раз.
Тема диссертации Светланы Подколзиной (Трубицыной): реализация Лиспа с массивным представлением по направлению CDR. CAR -- ссылка, CDR -- соседняя ячейка (близось адресов). Тракторная сборка мусора, которая как бульдозер сдвигала все нужное, собирая свободные ячейки в крупные массивы. С чем боролись? Кэша тогда не было, а вот виртуальная память была. И по мере "тасования памяти" шаг в с;едующую ячейку списка с большой вероятностью приводил к пэйдж-фолту. Вот с этим и боролись. Так что, грусть по массивному представлению имеет давнюю историю. А тот поход за массивным лиспом помню с удовольствием... Мы опирались на реализацию лиспа на фортране с исходными текстами. Фортрановская колода, не очень здоровая. В начале которой просто были описаны два COMMON массива: CAR(1000000) и CDR(1000000). ;-) Ну а мы это дело перелопатили потом. Всего доброго, Сергей Абрамов