はじめに (タイトルはScala の機能がコンパイル速度に与える影響にインスパイアされました。) Goのコンパイル速度の速さはセールスポイントの一つです。しかし、そんなGoもcgoを使い始めるとコンパイルが途端に遅くなります。あんまりこのあたりについて言及しているエントリがないので書いてみることにしました。 このエントリではサンプルプログラムがいっぱい出てくるので以下のリポジトリにまとめました。 また、コンパイル速度の比較もmakeで行えるようになっています。
![cgoがGoのコンパイル速度に与える影響 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/aea86637b4cda5b26badad92de736fd04642a67c/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9Y2dvJUUzJTgxJThDR28lRTMlODElQUUlRTMlODIlQjMlRTMlODMlQjMlRTMlODMlOTElRTMlODIlQTQlRTMlODMlQUIlRTklODAlOUYlRTUlQkElQTYlRTMlODElQUIlRTQlQjglOEUlRTMlODElODglRTMlODIlOEIlRTUlQkQlQjElRTklOUYlQkYmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPWJjNmI1YWZkODRjMDRmZWViZGQwZmYxOWMxODFhY2Nh%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBjdWJpY2RhaXlhJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1lN2JiODU0MjRmZmJlOTBiMzY5ODU1YTBhMzdiYmFmMA%26blend-x%3D142%26blend-y%3D436%26blend-mode%3Dnormal%26txt64%3DaW4gTWVyY2FyaQ%26txt-width%3D770%26txt-clip%3Dend%252Cellipsis%26txt-color%3D%2523212121%26txt-font%3DHiragino%2520Sans%2520W6%26txt-size%3D36%26txt-x%3D156%26txt-y%3D536%26s%3De3aa55c4918b76b49c7e32f7a2298bde)
新しいカーネルをコンパイルしようとする動機はなんでしょう? Debian では、標準で入っているカーネルで多くの機能をサポートしているので、ほとんどその必要はありません。また、Debian は多くの場合、いくつかの代替カーネルを提供しています。ですからおそらく、もっと自分のハードウェアに対応する代わりのカーネルイメージパッケージがあるかどうかをまず確認したいと思うでしょう。しかし、以下のような目的のためには、新しいカーネルをコンパイルすることは有益です。 特殊なハードウェアを使ったり、標準カーネルとハードウェアとの競合を回避するため (ハイメモリサポートなど) 標準カーネルでサポートされていない機能を利用するため 使わないドライバを取り除くことでカーネルを最適化し、起動にかかる時間を短くするため モジュール化されたカーネルの代わりに、一体化したカーネルを作成するため 最新のカーネルや開発版
ソース・コードが自由に入手できるLinuxならではの楽しみが,カーネルをコンパイルして,独自のシステムに仕立てられること。例えば,より新しいカーネルのソース・コードを入手し,コンパイルして導入すれば,最新機能をいち早く試せる。初めて「カーネル・コンパイル」に挑戦する人に向けて,カーネルを安全に導入する方法を具体的に解説する。今回は,実際にカーネルをコンパイルして導入する手順を紹介する。 前回は主に,カーネル・コンパイル前の心構えや注意点を説明した。ディストリビュータやシステム・ベンダーのサポートを受けている人は,カーネル・コンパイルを実行するとサポート対象外になることや,実用しているシステムではなく試験用あるいは予備のシステムで事前に試してから実行することなどを述べた。 今回は,実際にカーネルをコンパイルして導入する手順を紹介する。 カーネルの導入方法 カーネルのコンパイルに必要な手順を図
ソース・コードが自由に入手できるLinuxならではの楽しみが,カーネルをコンパイルして,独自のシステムに仕立てられること。例えば,より新しいカーネルのソース・コードを入手し,コンパイルして導入すれば,最新機能をいち早く試せる。初めて「カーネル・コンパイル」に挑戦する人に向けて,カーネルを安全に導入する方法を2回に分けて解説する。前編は,カーネルのコンパイルから導入するまでの概要を紹介する。 普段何げなく使っているLinuxディストリビューション。その中核をなすカーネルは,もちろん,プログラムの一種である。Linuxが登場した当初は,ユーザーが自分でコンパイルして導入するのが当たり前だった。しかし,Linuxディストリビューションが“進化”した今では,実行形式で提供される場合がほとんどだ。 Linuxディストリビューションと共に提供される(実行形式の)カーネルは,無難に動作する反面,チューニ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く