Страница: 1 | 2 | 3 | 4 | 5 | 6 | 
		
		 
			   
			 
			 
			 
			 
			
 
  
		
     
  
    
Вопрос: Сколько весят ваши исходники?
     
    
Добавлено: 16.08.07 19:36
     
      
  
				
			  
					 
			
				 
    
		
       
    
Автор вопроса:  
     Sharp | Web-сайт: sharpc.livejournal.com | ICQ: 216865379
 Sharp | Web-сайт: sharpc.livejournal.com | ICQ: 216865379 
      
       
  
Мне стало интересно и я написал небольшой скриптик для этого, скопировав все файлы исходников, написанные мною (использованные сторонние библиотеки и лишь немного измененные чужие проекты не включались). Не включил только текущую папку с проектами 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
 User Unknown



Вечный Юзер!
ICQ: uu@jabber.cz 
Вопросов: 120
Ответов: 3302
      
 Профиль |  | #1
       
Добавлено:  16.08.07 20:40
       
    
       
  
Невозможно. Не все исходники есть в наличии. Многие писал "на месте". Много кода написано в командах, следовательно всё в разных SVN.
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 2 
      
Автор ответа: Sharp
 Sharp










Лидер форума
ICQ: 216865379 
Вопросов: 106
Ответов: 9979
      
 Web-сайт:  
 Профиль |  | #2
      
Добавлено:  16.08.07 20:52
       
    
       
  
У меня тоже не все исходники в наличии, и SVN я не учитывал. Считай, что есть  
     
		
	  
			 
	
		 
    
       
    
Номер ответа: 3 
      
Автор ответа: ISpy
 ISpy






Разработчик Offline Client
Вопросов: 47
Ответов: 621
      
 Web-сайт:  
 Профиль |  | #3
      
Добавлено:  16.08.07 21:26
       
    
       
  
Бугага  
     Sharp решил похвастаться =DDD Не обижайся
 Sharp решил похвастаться =DDD Не обижайся  С удовольствием тоже приму в этом участие ))
 С удовольствием тоже приму в этом участие ))
php:
3 607 956 байт
Всего файлов 616
java:
100 648 байт
Всего файлов 52
остальное все пропало =( Здох жесткий диск на первом компе (( Хотя там и не так много было полезного, так что не жалоко  Но всетаки хорошо что я самое важное делал на втором гг
 Но всетаки хорошо что я самое важное делал на втором гг  
И так ждем еще претендентов, у кого круче всех пип*ська =DDD
		
	  
			 
	
		 
    
       
    
Номер ответа: 4 
      
Автор ответа: ISpy
 ISpy






Разработчик Offline Client
Вопросов: 47
Ответов: 621
      
 Web-сайт:  
 Профиль |  | #4
      
Добавлено:  16.08.07 21:34
       
    
       
  
С++ в универе в основном всё, щас не достать гг  
     
А исходники на паскале с бейсиком (хоть с qbasic'ом, хоть с vb) уже давно исчезли из этого мира  
Есть еще всякие извращения, типа perl или prolog, но это даже искать не охота, лучше забыть =D
		
	  
			 
	
		 
    
       
    
Номер ответа: 5 
      
Автор ответа: Sharp
 Sharp










Лидер форума
ICQ: 216865379 
Вопросов: 106
Ответов: 9979
      
 Web-сайт:  
 Профиль |  | #5
      
Добавлено:  16.08.07 22:28
       
    
       
  
ISpy, еще по строчкам статистику интересно было бы узнать  
     
		
	  
			 
	
		 
    
       
    
Номер ответа: 6 
      
Автор ответа: Artyom
 Artyom







Разработчик
Вопросов: 130
Ответов: 6602
      
 Профиль |  | #6
       
Добавлено:  16.08.07 22:53
       
    
       
  
 
    
Строк кода:             211902
Общий объем кода:      9362694
Количество файлов:        2764
		
	  
			 
	
		 
    
       
    
Номер ответа: 7 
      
Автор ответа: Sharp
 Sharp










Лидер форума
ICQ: 216865379 
Вопросов: 106
Ответов: 9979
      
 Web-сайт:  
 Профиль |  | #7
      
Добавлено:  17.08.07 03:16
       
    
       
  
Интересно было бы узнать статсы зубров, например, у sne или GSerg  
     
		
	  
			 
	
		 
    
       
    
Номер ответа: 8 
      
Автор ответа: VβÐUηìt
 VβÐUηìt



Вопросов: 246
Ответов: 3333
      
 Web-сайт:  
 Профиль |  | #8
      
Добавлено:  17.08.07 07:58
       
    
       
  
Не знаю, у меня в одной проге было 42000 строк на вб и 15000 с лишним на пхп. Мало, но это в одной проге...  
     (formcreator.narod.ru)
 (formcreator.narod.ru)
		
	  
			 
	
		 
    
       
    
Номер ответа: 9 
      
Автор ответа: User Unknown
 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
 VβÐUηìt



Вопросов: 246
Ответов: 3333
      
 Web-сайт:  
 Профиль |  | #11
      
Добавлено:  17.08.07 11:32
       
    
       
  
24Мб - это 24 000 000 символов. Если 24 000 000 разделить на 16 250 253, то получится, что каждая строка состоит из одного-двух символов.
 
    
Шо за?!
		
	  
			 
	
		 
    
       
    
Номер ответа: 12 
      
Автор ответа: ISpy
 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
 Sharp










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








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