Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Офф-топ

Страница: 1 | 2 | 3 | 4 | 5 | 6 |

 

  Вопрос: Сколько весят ваши исходники? Добавлено: 16.08.07 19:36  

Автор вопроса:  Sharp | Web-сайт: sharpc.livejournal.com | ICQ: 216865379 
Мне стало интересно и я написал небольшой скриптик для этого, скопировав все файлы исходников, написанные мною (использованные сторонние библиотеки и лишь немного измененные чужие проекты не включались). Не включил только текущую папку с проектами C++, кроме того, не учитывал языки, на которых я писал немного (C#, Python, Perl, и т.п.)
<?php

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>


Вот мои результаты:

Всего     ASM   BASIC   C/C++ PASCAL     PHP
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.

Для сравнения (тысячи строк кода):

IPB                              3
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-сайт: sharpc.livejournal.com
 Профиль | | #2
Добавлено: 16.08.07 20:52
У меня тоже не все исходники в наличии, и SVN я не учитывал. Считай, что есть :)

Ответить

Номер ответа: 3
Автор ответа:
 ISpy



Разработчик Offline Client

Вопросов: 47
Ответов: 621
 Web-сайт: intermult.boom.ru
 Профиль | | #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-сайт: intermult.boom.ru
 Профиль | | #4
Добавлено: 16.08.07 21:34
С++ в универе в основном всё, щас не достать гг =)
А исходники на паскале с бейсиком (хоть с qbasic'ом, хоть с vb) уже давно исчезли из этого мира :
Есть еще всякие извращения, типа perl или prolog, но это даже искать не охота, лучше забыть =D

Ответить

Номер ответа: 5
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #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-сайт: sharpc.livejournal.com
 Профиль | | #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-сайт: www.vbnet.ru
 Профиль | | #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-сайт: intermult.boom.ru
 Профиль | | #12
Добавлено: 17.08.07 11:51
И всетаки интересно было бы узанть инфу о UU =)
И Павел, ты хоть как-нибудь разбей, какие языки :)

Ответить

Номер ответа: 13
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #13
Добавлено: 17.08.07 12:02
Это я про свои исходники. А сколько там весит линукс мне до лампочки :)

Ответить

Номер ответа: 14
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #14
Добавлено: 17.08.07 15:40
UU, данные по линуху я взял из нескольких источников, в том числе из википедии. Фишка в том, что существуют несколько методик подсчета, моя — самая простая. 4-5 миллионов там eLOC.

Ответить

Номер ответа: 15
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #15 Добавлено: 17.08.07 17:09
А я свои и не свои исходники, храню в одной папке в которой они разбиты просто по тематики. Поэтому отличить программно свои от чужих невозможно. Но мне свойствена типичная лень программиста, я довольно много и часто использовал чужой код.

З.Ы. fileext через рег.выраж. улыбнуло, strrpos нынче не в моде? :)

Ответить

Страница: 1 | 2 | 3 | 4 | 5 | 6 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам