The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Статистика по объему кода в Linux ядре

21.10.2008 22:44

Представлена статистика по объему кода в разных подсистемах Linux ядра, полученная при помощи анализатора исходных текстов SLOCCount. Некоторые сведения:

  • Общее число строк кода 6 399 191. С учетом комментариев, пустых строк и документации, общий объем превышает 10 миллионов строк;
  • Ориентировочный уровень трудозатрат: 1 983 человеко-лет (23 803 человеко-месяцев);
  • Ориентировочная стоимость разработки с нуля, при непрерывной работы над проектом 206 разработчиков в течение 9.5 лет: 268 миллионов долларов;
  • Использование языков программирования:
    Си 6168175 (96.39%)
    asm 212699 (3.32%)
    perl 6672 (0.10%)
    С++ 3302 (погрешность работы детектора языков при обработке заголовочных файлов)
    Yacc 2954 (0.05%)
    shell 2715 (0.04%)
    Lex 1820 (0.03%)
    Python 424 (0.01%)
    Lisp 418 (в разделе документации)
    Awk 96 (0.00%)
  • Распределение объема кода по директориям (если отдельно не указано распределение языков, значит для данных элементов преобладает Си)
    51.5% (3301081) drivers (драйверы): Си=3296641, yacc=1680, asm=1136
    19.7% (1258638) arch (плафтормо-зависимый код): Си=1047549, asm=209655
    8.5% (544871) fs (файловая система)
    5.9% (376716) net (сеть)
    5.5% (356180) sound (звуковая система)
    1.2% (74503) kernel
    0.6% (36312) mm (управление памятью)
    0.5% (32729) crypto (шифрование)
    0.4% (25303) security (безопасность)
    0.4% (24111) scripts (вспомогательные скрипты): Си=14424, perl=4653, cpp=1791, sh=1155, yacc=967, lex=742, python=379
    0.3% (17065) lib
    0.2% (10723) block
    0.1% (5227) ipc
    2622 virt
    2287 init
    1803 firmware: asm=1598, Си=205


  1. Главная ссылка к новости (http://www.heise-online.co.uk/...)
Лицензия: CC-BY
Тип: К сведению
Короткая ссылка: https://opennet.ru/18509-linux
Ключевые слова: linux, kernel
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (43) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.3, FPGA (?), 23:48, 21/10/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ИМХО нельзя вот прямо так в строчках кода считать... Код разный бывает, разным трудом полученный, да по много раз писаный, да реверсинжиниренный...
     
     
  • 2.4, pavlinux (ok), 00:04, 22/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    > реверсинжиниренный...

    Это как? В проприпрютриарном объектнике спрятан С код?

     
     
  • 3.5, FPGA (?), 00:22, 22/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Обра́тная разрабо́тка (обратный инжиниринг, реверс-инжиниринг; англ. reverse engineering) — исследование некоторого устройства или программы, а также документации на них с целью понять принцип его работы и, чаще всего, воспроизвести устройство, программу или иной объект с аналогичными функциями, но без копирования как такового.

    ЗЫ Не на всякую железку спеки есть чтоб дров писать... ;)

     
     
  • 4.7, vitek (??), 01:04, 22/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    ну и что? этот, как его, "реверсинжиниренный" код сильно увеличиает исходники на С, чем "оригинальный"? или его делают его потом роботы... типа терминатора?
    а если учесть, что в нем как правило не вся функциональность (не легко это...), а тот малый код в результате бывает лучше, чем у оригинала (это не новость! попробуйте, например "отреверсинжинировать" бинарник полученный в результате упорных трудов среднего дельфиста... какой нужен экспириенс для этого?... ну и в результате у кого будет лучше?...)
     
     
  • 5.11, FPGA (?), 01:31, 22/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Пля... Я для кого выдрал цитату из википедии?.. Читаем внимательно... Только бинарники не панацея...
     
     
  • 6.12, vitek (??), 01:48, 22/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    не парься! это была ирония. :-)
    про метод "черного" ящика знают все ещё со школы... а тут видишь ли придумали, реверсинжиниренг! :-D
     
     
  • 7.16, kapany3 (?), 06:43, 22/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще-то он вел к тому, что код этот гораздо трудозатратнее простого
     
     
  • 8.18, vitek (??), 08:04, 22/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    а я разве не об этом говорил а ещё я говорил, что он часто лучше, чем оригин... текст свёрнут, показать
     
     
  • 9.35, Аноним (35), 19:02, 22/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Скорее всего ты забыл прочитать о чём FPGA говорил перед тем как свои пять копее... текст свёрнут, показать
     
     
  • 10.37, vitek (??), 22:06, 22/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    я к 12 комменту прочёл - да и просто поговорить на наболевшую тему захоте... текст свёрнут, показать
     
  • 10.38, vitek (??), 22:08, 22/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    да и фирмваре задолбали ... текст свёрнут, показать
     
  • 2.26, Jelis (ok), 11:11, 22/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    > ИМХО нельзя вот прямо так в строчках кода считать... Код разный бывает, разным трудом
    > полученный, да по много раз писаный, да реверсинжиниренный...

    Когда строк кода 6 миллионов - то как раз можно. Потому как это среднестатистическое число, и на таком обьеме это уже как раз похоже на правду.

     

  • 1.6, Аноним (-), 00:28, 22/10/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    вы мне лучше скажите где платят в месяц 11,412$ я туда работать пойду =))
     
     
  • 2.8, cobain (??), 01:04, 22/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Итоговая сумма всместе с расходами на начальство :-)


     
  • 2.9, vitek (??), 01:07, 22/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >вы мне лучше скажите где платят в месяц 11,412$ я туда работать
    >пойду =))

    анонимам там не платят.
    ...
    и вообще,... "зарабатывать" и "получать" - это ОЧЕНЬ большая разница.

     
     
  • 3.20, Аноним (35), 10:08, 22/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >"зарабатывать" и "получать" - это ОЧЕНЬ большая разница.

    +1

     
  • 2.10, szh (ok), 01:13, 22/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >вы мне лучше скажите где платят в месяц 11,412$ я туда работать
    >пойду =))

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

     
     
  • 3.13, vitek (??), 01:50, 22/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    а ремонт молотка?
     
  • 3.14, chesnok (ok), 03:12, 22/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    зaрплaтa среднего ИТ-менеджерa в Москве.
     
     
  • 4.15, абырвалг (?), 06:39, 22/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Вот и средние IT-менеджеры подтянулись.
     
     
  • 5.17, bartman (??), 08:01, 22/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    :)))
     
  • 4.19, cyclope (ok), 09:35, 22/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    только не "менеджера по уборке" (@Задорнов, почти) ))
     
     
  • 5.28, Andrey Mitrofanov (?), 13:03, 22/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >только не "менеджера по уборке"

    Ближайшее будущее. Два дворника метут улицу. Один другому: "Что-то Ваше лицо мне кажется знакомым. Вы в каком банке работали?"

     
  • 2.30, User294 (ok), 15:44, 22/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >вы мне лучше скажите где платят в месяц 11,412$ я туда работать
    >пойду =))

    В свое время у Conexant на сайте была вакансия с зарплатой в $20K.Только вам не подойдет - это было для гуру в DSP, если б вы таким были - не спрашивали бы где 11 килобаксов платят.

     

  • 1.21, miv (??), 10:31, 22/10/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >1983 человеко-лет

    разве такое возможно что будь у человека 1983 года жизни он бы смог написать в одного целое ядро, ну ладно добавим +17 лет (не с пеленок же ему писать) итого 2000 лет, это по 8 часов в сутки или в свободное от работы время? за столько времени быстродействие компьютера увеличится значит увеличится скорость разработки, но увеличатся также и требования к ядру, да ядро придется каждые 50 лет переписывать, либо  изолировать человека на это время в вакууме и выпустить через 2000 лет, так чтоли? тогда для чего эти цифры?

     
     
  • 2.22, Square (ok), 10:38, 22/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    В целом это означает, что компания майкрософт, которая купит исключительные права на лицензию ГПЛ, сэкономила кучу денег для своей новой операционки
     
  • 2.23, octo47 (ok), 10:50, 22/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Просвятись :)
    http://ru.wikipedia.org/wiki/п°п╦я└п╦я┤п╣я│п╨п╦п╧_я┤п╣п╩п╬п╡п╣п╨п╬-п╪п╣я│я▐я├

    Человеко-месяц - это стандартная метрика затрат. Т.е. грубо говоря 100-человеко лет = 1 человек пишет 100 лет, либо 100 человек - 1 год (хотя это конечно не совсем так и в указанной книжке и в sloccount это учитывается что с ростом команды растут накладные расходы)

     
     
  • 3.24, octo47 (ok), 10:51, 22/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Просвятись :)
    >http://ru.wikipedia.org/wiki/п°п╦я└п╦я┤п╣я│п╨п╦п╧_я┤п╣п╩п╬п╡п╣п╨п╬-п╪п╣я│я▐я├
    >
    >Человеко-месяц - это стандартная метрика затрат. Т.е. грубо говоря 100-человеко лет =
    >1 человек пишет 100 лет, либо 100 человек - 1 год
    >(хотя это конечно не совсем так и в указанной книжке и
    >в sloccount это учитывается что с ростом команды растут накладные расходы)
    >

    Упс. В общем в вики http://ru.wikipedia.org/wiki/Мифический_человеко-месяц

     
  • 3.33, Kaiser (ok), 16:13, 22/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    > 1 человек пишет 100 лет, либо 100 человек - 1 год

    При этом не учитывается, что 3 женщины за 3 месяца ребенка родить не могут.

     
     
  • 4.41, octo47 (ok), 09:32, 23/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >> 1 человек пишет 100 лет, либо 100 человек - 1 год
    >
    >При этом не учитывается, что 3 женщины за 3 месяца ребенка родить
    >не могут.

    Если вы научитесь читать до конца и правильно цитировать, то ответ будет не столь очевиден :) . Там было еще "учитывается что с ростом команды растут накладные расходы". Ну а пример с женщинами не совсем корректен, т.к. разработка ПО распараллеливается (до определенной степени), а вот вынашивание ребенка - нет.

     
  • 3.36, User294 (ok), 19:31, 22/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Просвятись :)

    А вы священник, да?Или при чем тут свЯтость? :)

    >http://ru.wikipedia.org/wiki/п°п╦я└п╦я┤п╣я│п╨п╦п╧_я┤п╣п╩п╬п╡п╣п╨п╬-п╪п╣я│я▐я├

    Ну да, мы поняли что у вас интересная система и\или браузер - постить ссылки нормально не умеют.Интересно было бы еще узнать кто из браузеров (или систем?) такие чудные кривульки продуцирует ;)

     
     
  • 4.40, octo47 (ok), 09:29, 23/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >>Просвятись :)
    >
    >А вы священник, да?Или при чем тут свЯтость? :)

    :) . Это священное писание всех прожектманагеров. По этому именно просвЯтись :) (хотя конечно это я просто ошибся :) )

    >
    >>http://ru.wikipedia.org/wiki/п°п╦я└п╦я┤п╣я│п╨п╦п╧_я┤п╣п╩п╬п╡п╣п╨п╬-п╪п╣я│я▐я├
    >
    >Ну да, мы поняли что у вас интересная система и\или браузер -
    >постить ссылки нормально не умеют.Интересно было бы еще узнать кто из
    >браузеров (или систем?) такие чудные кривульки продуцирует ;)

    Что интересно: linux/firefox3/utf8 и в других форумах я таких проблем не испытываю.


     

  • 1.25, osprey (?), 11:03, 22/10/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Круто, еще бы для других платформ (freebsd например)
     
     
  • 2.27, Andrey Mitrofanov (?), 12:20, 22/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Круто, еще бы для других платформ (freebsd например)

    Да! Чего уважаемые сторонники стесняются?
    Ещё бы и с разделением по лицензиям, а то давно не было трындёжа $XXL-vs-$YYL... %)

     
     
  • 3.29, osprey (?), 14:32, 22/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >трындёжа $XXL-vs-$YYL... %)

    Зря Вы так, мне интерестна статистика.

     
     
  • 4.31, Andrey Mitrofanov (?), 15:47, 22/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Зря Вы так, мне интерестна статистика.

    Вы не заметили, но мне тоже.

    Но, исходя из того, что sloccount пустить на дерево распакованных исходников - не бином Ньютона, я [как бы] неявно намекал, что "они не хотят показывать свой"... "Стесняются, наверное." Гугль, наверное, тоже стесняется -- либо я настолько "не в теме" (или настолько не настойчив/ленив, сейчас ещё раз попытался на google.com/bsd), что подходящей ключевой фразы не подобрал.

     
  • 3.45, northbear (??), 10:59, 24/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Да! Чего уважаемые сторонники стесняются?
    >Ещё бы и с разделением по лицензиям, а то давно не было
    >трындёжа $XXL-vs-$YYL... %)

    Скучно, да? Не с кем похоливарить?

     

  • 1.32, Kaiser (ok), 16:06, 22/10/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Учитывались только текущие строки? А то за эти годы очень много кода переписано. И общий объем написанного получится больше, чем в current срезе.
     
  • 1.34, Veillard (?), 16:36, 22/10/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Отсюда хорошо видно, что если пернести все дрова в user-level, то ядро станет в два раза меньше ... а сколько нужно из всех дров для среднестатистической системы ? Дай бог 5% ...
     
     
  • 2.43, Frank (??), 10:04, 23/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Глупость какая. Есть подгружаемые модули для ядра, если ты не в курсе.
     
     
  • 3.44, veillard (ok), 15:45, 23/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    В курсе. Другое дело, что эти модули тебе приходится каждый раз тягать с остальными сорцами, а будешь ты их собирать и использовать или нет никого не волнует. А сорцы ядра сейчас как миниум 49 МБ ... могли бы быть 24.5 соответственно :)
     

  • 1.39, vinnie747 (?), 01:23, 23/10/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >http://ru.wikipedia.org/wiki/п°п╦я└п╦я┤п╣я│п╨п╦п╧_я┤п╣п╩п╬п╡п╣п╨п╬-п╪п╣я│я▐я├

    Гадировка? правда интересно: что за сись-тема?

     
     
  • 2.42, octo47 (ok), 09:40, 23/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >>http://ru.wikipedia.org/wiki/п°п╦я└п╦я┤п╣я│п╨п╦п╧_я┤п╣п╩п╬п╡п╣п╨п╬-п╪п╣я│я▐я├
    >
    >Гадировка? правда интересно: что за сись-тема?

    $ uname -a
    Linux octo 2.6.25.16-0.1-default #1 SMP 2008-08-21 00:34:25 +0200 i686 i686 i386 GNU/Linux
    $ zypper info MozillaFirefox
    Чтение установленных пакетов...

    Сведения - пакет MozillaFirefox:

    Репозитарий: openSUSE BuildService - Mozilla
    Имя: MozillaFirefox
    Версия: 3.0.3-4.3
    Арх: i586
    Производитель: openSUSE Build Service
    Установлен: Да
    Состояние: устарел (установлена версия 3.0.3-1.1)
    Размер после установки: 3,1 M
    Сводка: Mozilla Firefox Web Browser
    Описание:
    Mozilla Firefox, formerly known as Phoenix and Firebird, is a redesign
    of the Mozilla browser component, similar to Galeon, K-Meleon and
    Camino, but written using the XUL user interface language and designed
    to be cross-platform. It is a stand-alone application instead of part
    of the Mozilla Application Suite.
    $ echo $LANG
    ru_RU.UTF-8
    $ cat /etc/SuSE-release
    openSUSE 11.0 (i586)
    VERSION = 11.0

    Вставлялось как набор url encode симовлов (ака %_D0%_94)

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2020 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру