Linuxカーネルのコード行数、1000万行を上回る 55
ストーリー by hylom
増えることはあっても減ることはないんでしょうか、 部門より
増えることはあっても減ることはないんでしょうか、 部門より
あるAnonymous Coward 曰く、
最新のLinuxカーネルのコード行数が1000万行を超えたとのこと(本家/.より)。
およそ90日ごとにリリースされるバージョンごとに行数は目に見えて増えていっているが、この数値はGitチェックによる簡易的な数値であり、空行やコメントやテキストファイルなどが含まれている。SLOCCountツールを使ったより正確な分析によると、純粋なコードは6,399,191行であり、96.4%がCで書かれており、3.3%がアセンブリ言語となっているそうだ。
*BSD (スコア:5, 興味深い)
せっかくなので。
いずれも -current です。
Re: (スコア:0)
読み方教えてよ。
Re:*BSD (スコア:4, 参考になる)
Re: (スコア:0)
Re: (スコア:0)
http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&lc=1&cmd=&a... [freebsd.org]
それともこっちかな
http://www.linux.or.jp/JM/html/GNU_textutils/man1/wc.1.html [linux.or.jp]
残りの0.3%は? (スコア:2, 興味深い)
残りの 0.3% が何なのか気になって眠れません。
0.3% っていっても 19,000 行以上あるんですよ。
Re:残りの0.3%は? (スコア:5, 参考になる)
ansic: 6168175 (96.39%)
asm: 212699 (3.32%)
perl: 6672 (0.10%)
cpp: 3302 (0.05%)
yacc: 2954 (0.05%)
sh: 2715 (0.04%)
lex: 1820 (0.03%)
python: 424 (0.01%)
lisp: 218 (0.00%)
pascal: 116 (0.00%)
awk: 96 (0.00%)
残念ながら COBOL は無いようですね...
うそつきー (スコア:3, すばらしい洞察)
これはないだろ。gcc依存コードてんこ盛りなんだから。
うじゃうじゃ
Re:うそつきー (スコア:2, 興味深い)
iccでLinux kernelをコンパイルしてる人とか結構いるので(実用してるかどうかは相当怪しいですが)、
ググってみたらこんなんが。
http://software.intel.com/file/6390 [intel.com]
intelの中の人がこんなもん出してるとは。
iccでLinux kernelをコンパイルした際にn行修正が必要でした、って資料を見た覚えもありますが失念。。。
Re:うそつきー (スコア:2, 興味深い)
・DSPへ移植:13K行
・デバイスドライバ:14K行
・移植性の問題:90K行
最後の「移植性の問題」ってのがgcc依存コード(以外も含む)などの修正だそうです。
動画を通して見ると、単純にテキスト置換では済まない「gccでしか通らないコード」の例がいろいろ出てきます。
うじゃうじゃ
Re:うそつきー (スコア:1)
iccはlinux版はgcc互換、windows版はVisual C++互換
Re: (スコア:0)
一般的に、厳密に ANSI 準拠だと通らないコードの方が多いような気がします。
Re:残りの0.3%は? (スコア:2, 興味深い)
Re:残りの0.3%は? (スコア:2, 参考になる)
http://www.heise-online.co.uk/open/Kernel-Log-More-than-10-million-lin... [heise-online.co.uk]
SLOCCount also claims to have found 116 lines of Pascal code – but that could well be a misinterpretation by SLOCCount.
SLOCCountの解析ミスだとさ。
Re:残りの0.3%は? (スコア:1, 興味深い)
どちらもアセンブラっぽいのですが。。。
head.Sで#includeされてるし。。。
Re: (スコア:0)
一行目にasmと書いてあったりしますが。
Re:残りの0.3%は? (スコア:1, 興味深い)
C/C++に書き直しても大した手間ではないだろうに
Re:残りの0.3%は? (スコア:2, 興味深い)
必要なのはごくわずか。
昔は必要だった。
必要なくなったので消しても良いのだけれど、動かなくなる部分が出ると怖いので残しておいた。
無事動作したので、後で修正しようと思い放置しておいた。
結果的に忘れられてしまい。コードの中に化石として残された。
Re:残りの0.3%は? (スコア:1)
関係のない arch なんて、ほとんど見る事ないだろうし。
Re:残りの0.3%は? (スコア:1)
Re:残りの0.3%は? (スコア:1)
ここは自由の殿堂だ。床につばを吐こうが猫を海賊呼ばわりしようが自由だ。- A.バートラム・チャンドラー 銀河辺境シリーズより
Re:残りの0.3%は? (スコア:1)
Re:残りの0.3%は? (スコア:1)
うーむ、デフォルトではMakefileはカウントしないっぽい。
Re: (スコア:0)
純粋にPCへ機能を与える言語として意味のある記述が99.7%だというわけで。
Re:残りの0.3%は? (スコア:4, すばらしい洞察)
1000行につき空行コメント合わせて3行ってどんだけ嫌がらせだよ...
Re: (スコア:0)
Re: (スコア:0)
> ~気になって眠れません。
ずいぶん寝るのが早いですね。
そろそろ (スコア:1, おもしろおかしい)
XXX (スコア:1)
でかいなぁ (スコア:1, すばらしい洞察)
かといって既に多くの人が使っているので、
重複した内容の個別の関数を片っ端から共通化する大鉈は振ることができないよな。
そんな広範囲に渡った変更を、いったい誰がテストするんだ? なんてことになってさ。
プロプライエタリなソフトウェアと同じ悪循環に入ってしまっていると思う。
Re:でかいなぁ (スコア:2, 参考になる)
今年の前半にAlan Coxがやってたttyのリファクタリングなんて「クリーンアップしたよ。てへ」とかいいながら100パッチ1万行オーバーのメールボムとして投稿されてくる。
実際に今問題になってるのはx86のヘンテコハードがらみだね。ハードがバグってるんだけど今までたまたま動いてたのがリファクタリングで動かなくなっちゃう。でもオープンソースの品質ってレビューにかなりの割合依存しているので開発者に何とかしろって言っても限界があるんだよね。
よくぞここまで育ったもんだ (スコア:0)
Re:よくぞここまで育ったもんだ (スコア:5, おもしろおかしい)
カーネル3ダーs(ry
Re:よくぞここまで育ったもんだ (スコア:1)
# ls -l initrd-2.6.18-92.1.13.el5.img vmlinuz-2.6.18-92.1.13.el5
-rw------- 1 root root 2255561 10月 24 21:48 initrd-2.6.18-92.1.13.el5.img
-rw-r--r-- 1 root root 1806804 9月 25 08:57 vmlinuz-2.6.18-92.1.13.el5
4枚ぐらいじゃないですか?
と斜め横のレス。
Re: (スコア:0)
Debian の2.6.26 で、55MBほどあるんだけど(非圧縮)
# さらにずれたマジレス
Re: (スコア:0)
レモン1000個分 (スコア:0)
育ったというより (スコア:2, 興味深い)
コードを1から作り直したらどのぐらいダイエットできるだろうか
Re: (スコア:0)
Re:育ったというより (スコア:1)
Re: (スコア:0)
以下、Debian/Etch の例:
user@host:/boot$ ls -l
合計 7156
-rw-r--r-- 1 root root 882565 2008-10-13 18:00 System.map-2.6.24-etchnhalf.1-686
-rw-r--r-- 1 root root 86418 2008-10-13 18:00 config-2.6.24-etchnhalf.1-686
drwxr-xr-x 2 root root 4096 2008-10-23 22:59 grub
-rw-r--r-- 1 root root 4863229 2008-10-26 02:46 initrd.img-2.6.24-etchnhalf.1-686
-rw-r--r-- 1 root root 1455672 2008-10-13 17:59 vmlinuz-2.6.24-etchnhalf.1-686
user@host:/boot$ grep "=m$" config-2.6.24-etchnhalf.1-6
Re: (スコア:0)
カーネル自体はそんなやたらに肥大化させようったってできない。
Re: (スコア:0)
Re: (スコア:0)
Re: (スコア:0)
Re: (スコア:0)
なるほど,デスクトップ用途への進出は諦めたという宣言ですか.
Re:育ったというより (スコア:1, 参考になる)
むしろモバイルや組み込みの方が軌道時間が長いと困る.
ただディストリ配布のカーネルが起動時間長いのは, あらゆるハードでブートできるようにしている
ためで, 自分で機能厳選して再構成してやれば驚くほど早くなる. 面倒くさいからふつうやんないけど.
だからカスタムカーネルが当たり前の組み込みではブート時間が問題になることは少ないと思う.
Re:育ったというより (スコア:1)
小学校からやり直したほうがいいと思うよ。
Re: (スコア:0, 既出)
だから間違ってないと思うんだが
釣られた?
#「通りで…なのか」って言い方があるかはちょっと判らん
Re:育ったというより (スコア:1)