k001
k001
:...

April 2032
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30

Back March 25th, 2009 Forward
да не убоимся KLOC

Я в блоге OpenVZ написал о результатах небольшого исследования, которое сделал Паша Емельянов. Тут пишу примерно о том же самом по-русски.

Собственно, целей исследования было две:
* прикинуть количество изменений, которые OpenVZ патчсет вносит в ядро;
* сравнить с количеством изменений, которые вносит в ядро RHEL.

Были взяты три ядра:
* RHEL5.3 2.6.18-128.1.1.el5 (на базе 2.6.18);
* OpenVZ 2.6.18-028stab062.1 (на базе вышеупомянутого RHEL5.3);
* OpenVZ 2.6.27-aivazovskiy.1 (на базе 2.6.27).

По результатам подсчётов нарисовали картинку, которую можно наблюдать во всей красе, тыкнув тут или в превьюшку справа. Для OpenVZ ядер мы различаем собственно основные изменения в ядре и то, что можно собрать как отдельные модули. Патчи RHEL ядра мы делим на несколько категорий, типа drivers, Xen, ext4; всё, что ни в одну из этих категорий не входит, записываем в other.

Выводы из разглядывания оной картинки можно сделать вот какие:
1. Даже если выкинуть из набора патчей RHEL5 драйвера, то остаётся 434 добавленных/удалённых KLOC*, что в 8.5 раз больше, чем весь OpenVZ патч (51 KLOC). Нет, конечно, патч большой, но не такой уж и большой.
2. Основная часть патча OpenVZ (то есть без модулей) для 2.6.27 ядра похудела на 40% по сравнению с 2.6.18. Положительно сказываются усилия по интеграции контейнеров в мейнстрим.

Вот такие пироги.

* KLOC -- это тысяча строчек кода (Kilo-Lines of Code).

Back March 25th, 2009 Forward