Страница: 1 | 2 | 3 | 4 | 5 | 6 |
Вопрос: Сколько весят ваши исходники?
Добавлено: 16.08.07 19:36
Автор вопроса: Sharp | Web-сайт:
Мне стало интересно и я написал небольшой скриптик для этого, скопировав все файлы исходников, написанные мною (использованные сторонние библиотеки и лишь немного измененные чужие проекты не включались). Не включил только текущую папку с проектами C++, кроме того, не учитывал языки, на которых я писал немного (C#, Python, Perl, и т.п.)
function fileext($fn){
if(preg_match('/\.([^\.]+)$/is', $fn, $m)){
return $m[1];
} else return "";
}
set_time_limit(100000);
if(isset($_GET['dir'])){
$resl = 0; $resf = 0; $resc = 0; $resb = 0;
$a = array('asm' => 0, 'bas' => 0, 'c' => 0, 'cls' => 0, 'cpp' => 0, 'frm' => 0, 'h' => 0, 'inc' => 0, 'pas' => 0, 'php' => 0);
$rl = $a;
$rf = $a;
$rc = $a;
$rb = $a;
$dir = $_GET['dir'];
if(substr($dir, -1) != '\\') $dir .= '\\';
$dh = opendir($dir);
if($dh){
while($file = readdir($dh)){
if($file != '.' && $file != '..' && !is_dir($file)){
//echo $file;
$ext = strtolower(fileext($file));
$s = file_get_contents($dir . $file);
$resb += strlen($s);
$rb[$ext] += strlen($s);
for($i = 0; $i < strlen($s); $i++){
$c = ord($s[$i]);
if($c >= 0x21 && $c <= 0x7E || $c > 0xC0){
$resc++;
$rc[$ext]++;
}
if($c == 0x0D){
$resl++;
$rl[$ext]++;
}
}
$resf++;
$rf[$ext]++;
if($resf % 100 == 0) echo $resf . " files parsed.<br />";
//echo "...OK<br />";
}
}
closedir($dh);
}
echo "Bytes : " . $resb . "<br />";
echo "Chars : " . $resc . "<br />";
echo "Lines : " . $resl . "<br />";
echo "Files : " . $resf . "<br />";
var_dump($rb);
var_dump($rc);
var_dump($rl);
var_dump($rf);
}
?>
<form action="" method="get">
<input type="text" name="dir" />
<input type="submit" />
</form>
Вот мои результаты:
Bytes : 10181000 863085 5664131 1897975 177073 1578736
Chars : 6727346 657053 3251352 1438232 96546 1284163
Lines : 320549 33749 161461 72776 6926 45637
Files : 3737 357 1795 882 159 544
Получается, что за свою программерскую деятельность я написал около 320 тысяч строк кода, из них 50% на Basic разных версий, 23% на C/C++ (в основном, конечно, на C++), 14% на PHP, 10% на ассемблере и около 2% на Pascal.
Для сравнения (тысячи строк кода):
RegSetup 5
Offline Client by sne 20
Apache 2 90
CMS Bitrix 130
Paint.NET 3 130
eMule 220
PHP 5 480
GIMP 650
Игра Dungeon Siege 800
MySQL 5 890
Firefox 2170
ядро Linux 4140-5700
Windows NT 3.1 6000
Windows NT 3.5 10000
Windows NT 4.0 16000
Windows 2000 29000
Windows XP 40000
Windows Vista 50000
Ответы
Всего ответов: 76
Номер ответа: 1
Автор ответа:
User Unknown
Вечный Юзер!
ICQ: uu@jabber.cz
Вопросов: 120
Ответов: 3302
Профиль | | #1
Добавлено: 16.08.07 20:40
Невозможно. Не все исходники есть в наличии. Многие писал "на месте". Много кода написано в командах, следовательно всё в разных SVN.
Номер ответа: 2
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #2
Добавлено: 16.08.07 20:52
У меня тоже не все исходники в наличии, и SVN я не учитывал. Считай, что есть
Номер ответа: 3
Автор ответа:
ISpy
Разработчик Offline Client
Вопросов: 47
Ответов: 621
Web-сайт:
Профиль | | #3
Добавлено: 16.08.07 21:26
Бугага Sharp решил похвастаться =DDD Не обижайся С удовольствием тоже приму в этом участие ))
php:
3 607 956 байт
Всего файлов 616
java:
100 648 байт
Всего файлов 52
остальное все пропало =( Здох жесткий диск на первом компе (( Хотя там и не так много было полезного, так что не жалоко Но всетаки хорошо что я самое важное делал на втором гг
И так ждем еще претендентов, у кого круче всех пип*ська =DDD
Номер ответа: 4
Автор ответа:
ISpy
Разработчик Offline Client
Вопросов: 47
Ответов: 621
Web-сайт:
Профиль | | #4
Добавлено: 16.08.07 21:34
С++ в универе в основном всё, щас не достать гг
А исходники на паскале с бейсиком (хоть с qbasic'ом, хоть с vb) уже давно исчезли из этого мира
Есть еще всякие извращения, типа perl или prolog, но это даже искать не охота, лучше забыть =D
Номер ответа: 5
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #5
Добавлено: 16.08.07 22:28
ISpy, еще по строчкам статистику интересно было бы узнать
Номер ответа: 6
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #6
Добавлено: 16.08.07 22:53
Строк кода: 211902
Общий объем кода: 9362694
Количество файлов: 2764
Номер ответа: 7
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #7
Добавлено: 17.08.07 03:16
Интересно было бы узнать статсы зубров, например, у sne или GSerg
Номер ответа: 8
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #8
Добавлено: 17.08.07 07:58
Не знаю, у меня в одной проге было 42000 строк на вб и 15000 с лишним на пхп. Мало, но это в одной проге... (formcreator.narod.ru)
Номер ответа: 9
Автор ответа:
User Unknown
Вечный Юзер!
ICQ: uu@jabber.cz
Вопросов: 120
Ответов: 3302
Профиль | | #9
Добавлено: 17.08.07 09:58
ядро Linux 4140-5700
Откуда данные?
2.6.22, количество строк
$find ./ * -type f | xargs cat | wc -l
18 126 225 <-собранное ядро
#make mrproper
$find ./ * -type f | xargs cat | wc -l
16 250 253 <- чистое ядро
Номер ответа: 10
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #10
Добавлено: 17.08.07 10:03
Из того, что не лень было найти и посчитать, получилось около 24 Мб.
Номер ответа: 11
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #11
Добавлено: 17.08.07 11:32
24Мб - это 24 000 000 символов. Если 24 000 000 разделить на 16 250 253, то получится, что каждая строка состоит из одного-двух символов.
Шо за?!
Номер ответа: 12
Автор ответа:
ISpy
Разработчик Offline Client
Вопросов: 47
Ответов: 621
Web-сайт:
Профиль | | #12
Добавлено: 17.08.07 11:51
И всетаки интересно было бы узанть инфу о UU
И Павел, ты хоть как-нибудь разбей, какие языки
Номер ответа: 13
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #13
Добавлено: 17.08.07 12:02
Это я про свои исходники. А сколько там весит линукс мне до лампочки
Номер ответа: 14
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #14
Добавлено: 17.08.07 15:40
UU, данные по линуху я взял из нескольких источников, в том числе из википедии. Фишка в том, что существуют несколько методик подсчета, моя — самая простая. 4-5 миллионов там eLOC.
Номер ответа: 15
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #15
Добавлено: 17.08.07 17:09
А я свои и не свои исходники, храню в одной папке в которой они разбиты просто по тематики. Поэтому отличить программно свои от чужих невозможно. Но мне свойствена типичная лень программиста, я довольно много и часто использовал чужой код.
З.Ы. fileext через рег.выраж. улыбнуло, strrpos нынче не в моде?