並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 22 件 / 22件

新着順 人気順

lldの検索結果1 - 22 件 / 22件

  • 「悪い方が良い」原則と僕の体験談|Rui Ueyama

    ソフトウェアの世界には「悪い方が良い」原則という有名なエッセイがある。キレイにレイヤ分けされた一貫性のある良いデザインよりも、一見手抜きの悪いデザインのほうが実は良いときもあるという話だ。この逆説的なデザイン原則を僕は身をもって体験したことがある。それについてちょっと書いてみようと思う。 僕はlldというリンカの現行バージョンのオリジナル作者だ。リンカというのはコンパイラと組み合わせて使うもので、実行ファイルやDLLを作るのに使用される。lldはプロダクトとしてはかなり成功していて、標準のシステムリンカとして採用しているOSがいくつかあったり、GoogleやFacebookなど皆が知っているような大規模サイトの中で広く使われていたりする。 現在のlldは2世代目で、第1世代のlldは僕がプロジェクトに参加する前から存在していたのだけど、数年前にそれを捨てて一から書き直すということになった。

      「悪い方が良い」原則と僕の体験談|Rui Ueyama
    • ソフトウェアの互換性と僕らのUser-Agent文字列問題|Rui Ueyama

      いろいろな環境で動くプログラムでは互換性のためにその場しのぎのことをしないといけないことがよくあるけど、歴史が積み重なってくると、アドホックな技の上にアドホックな技が積み上がる喜劇的な状態になることがある。こういう問題は認識するのは簡単だが直すことは誰にもできない。まさに僕がそのような体験をしたのでちょっと説明したい。 僕は仕事としてオープンソースのlldというリンカを書いている。リンカというのはコンパイラが生成したバイナリファイルをつなぎ合わせて最終的な実行ファイルやDLLを作成するプログラムで、知らない人も多いと思うけど、何をコンパイルしても最後にはリンカが動いている。lldは既存プログラムより何倍も速くてビルドが早くなるというので最近は結構人気が高まっていて、FreeBSDなどのいくつかのOSが全面的にスイッチしようとしたり、あるいは大規模プロジェクト(Chromeや、どうもFire

        ソフトウェアの互換性と僕らのUser-Agent文字列問題|Rui Ueyama
      • オープンソースビジネスの挑戦と現実|Rui Ueyama

        いい感じのオープンソース・ソフトウェアを書いて、それを元に起業することを考えてみたことがある人は結構いるようだ。実際に僕はここ1年半ほど、自作のオープンソース・ソフトウェアを元にビジネスを立ち上げようと試行錯誤してきた。その経験についてここでシェアしてみようと思う。 あらすじ薄々予期していたことではあったけれど、結論から言うと、そんなにはうまくいかなかった話ということになる。要点をまとめると次の通りだ。 「moldリンカ」というオープンソースのツールを開発して、それを元にビジネスを行おうとしていた そこそこ稼ぐことはできたものの、大きなリターンを得るのは難しかった ほとんどの企業はオープンソースを大々的に活用していても「無料のソフトウェア」にはお金を払うつもりはないし、払いたくても社内制度上できない 大きなリターンを得たいのならば、自作のオープンソース・ソフトウェアを元にサービスを立ち上げ

          オープンソースビジネスの挑戦と現実|Rui Ueyama
        • コンパイラが作ったバイナリをつなぎ合わせるプログラム 「lld」の作者が語る、リンカの仕組み

          Kernel/VM探検隊はカーネルや仮想マシンなどを代表とした、低レイヤーな話題でワイワイ盛り上がるマニアックな勉強会です。植山氏は、制作中のリンカである「mold」について発表しました。全2回。前半は、リンカの概要について話しました。 LLVMのリンカ「lld」オリジナルの作者 植山類氏:植山類です。今僕が作っているmoldというリンカについて発表します。 今回の発表の概要です。リンカが何かを知っている人はそんなにたくさんいないと思うので、まず説明します。次に、「mold」のポイントは速いことなのですが、速いと何がうれしいのかを説明します。そのあと、どれくらい速いのかを説明した上で、どう実現されているのか、概要を紹介します。詳細になると何時間あっても終わらないので、かなりハイレベルな話をします。 自己紹介のスライドを入れていませんが、僕はリンカを何度か作ったことがあって、LLVMのlld

            コンパイラが作ったバイナリをつなぎ合わせるプログラム 「lld」の作者が語る、リンカの仕組み
          • 「LLVM lld」「mold」が解決した、リンクが遅い問題 間違った思い込みの解消に必要だったのは“クレイジーな人”

            Blue Whale Systems株式会社の植山類氏は、「LLVM lld」「mold」が解決したプログラムのビルドの問題を例に、“大きな問題”を解決することについて話しました。全3回。 1個の本質的な問題を解いてしまうほうが細かいことを考えるよりも簡単 植山類氏:では始めます。本日、機会をいただいて講演をすることになった植山と申します。この講演の内容は「大きな問題のほうが小さな問題より解くのは簡単だ」というタイトルです。 どういう趣旨かというと、常に簡単だというわけではないのですが、いろいろな場面で、1個の本質的な問題をドッカンと解いてしまうほうが、いろいろな細かいことを考えるよりも簡単なことが多いという話です。 そういうソリューションが往々にして見逃されがちということがけっこうあって、そういうことにどうやって挑戦していくのかという気持ちの話を、僕がそういう大きな問題を解決した経験を踏

              「LLVM lld」「mold」が解決した、リンクが遅い問題 間違った思い込みの解消に必要だったのは“クレイジーな人”
            • 【ZABBIX】やっぱりLLD(ローレベルディスカバリ)は最高だぜ! | Pocketstudio.jp log3

              ZABBIX 2.0 の新機能、ローレベルディスカバリ(Low Level Discovery、以下 LLD)は、自動的にアイテム・トリガ・グラフを生成してくれるもの。サーバ内の状況に応じ、動的に監視対象を変化させる事ができます。 本記事は、LLD の概要と、実際に設定を行うチュートリアルで構成しました。既に公式ドキュメントを読まれた方には、不要かと思います。自分が理解に時間がかかってしまったので、、これから LLD を始める方が迷わないようにと、チュートリアル形式で記事をまとめてみました(SNMP の効率的な OID データ収集に関しては、途中記事を飛ばして読んでいただいて構いません。) 本記事の概要 Zabbix 2.0 からローレベルディスカバリ機能(LLD)が使えるようになった。 検出用の標準キーは3種類(vfs.fs.discovery=ファイルシステム検出、net.if.di

              • ZabbixでDockerも監視

                2021/02/25(木) Node学園 35時限目の発表資料 https://nodejs.connpass.com/event/203464/ Node.js の ES Modules 対応について

                  ZabbixでDockerも監視
                • Rebuild: 153: Connecting The Dots (rui314)

                  Rui Ueyama さんをゲストに迎えて、LLD, LLVM, Go, コンパイラ、インクリメンタル開発、スタンフォードなどについて話しました。 Show Notes Rui Ueyama (ruiu)|note Linker (computing) lld - The LLVM Linker EuroLLVM 2016- New LLD linker for ELF Cコンパイラをスクラッチから開発してみた(日記) TCC : Tiny C Compiler Fabrice Bellard rui314/8cc: A Small C Compiler ソースコードって実際のところどういうふうに書いていますか? 8cc.bf How I wrote a self-hosting C compiler in 40 days | Hacker News 東大 理学部情報科学科 CPU実験 X

                    Rebuild: 153: Connecting The Dots (rui314)
                  • lldでwasmをリンクするまで - Qiita

                    TL;DR; lldを使えばwasm32-wasm向けにコンパイルされた.oファイルをリンクして、WASMを出力できます。 書いてある内容はLinux、もしくはmacOSでは、そのまま使えると思います。使用しているLLDは6.0.0です。 ClangでもWASMを作れます。 CからWASMを作成するにはEmscriptenを使う、というのが普通でした。というより、ほぼ唯一の手段だった時もありました。 WASMのMVPがリリースされて以降、多くのコミュニティでWASMに対応するための開発がなされました。その一つの結果として、LLVMを利用したC/C++コンパイラーのClangがWASMに対応をしました。その後、LLVM向けのリンカlldもWASMに対応するようになりました。 この結果、次のようなパスで.wasmファイルを作れるようになりました。

                      lldでwasmをリンクするまで - Qiita
                    • LLD(ローレベルディスカバリ)を弄り倒せ、zabbix_senderを併用してらくらく可視化

                      LLD(ローレベルディスカバリ)を弄り倒せ zabbix_senderを併用してらくらく可視化 第6回 ZABBIX-JP 勉強会 (2014/04/12) にて、LT発表させていただいたスライドですRead less

                        LLD(ローレベルディスカバリ)を弄り倒せ、zabbix_senderを併用してらくらく可視化
                      • DMM inside

                        日本アニメ初の快挙!海外アニメ賞を受賞した『スキップとローファー』海外ライセンス部長&プロデューサーが語る、奮闘の舞台裏

                          DMM inside
                        • LLVMプロジェクトから新しい高速リンカ「lld」登場

                          LLVM is a robust system, particularly well suited for developing new mid-level language-independent analyses and optimizations. LLVMプロジェクトは11月30日(米国時間)、「LLVM Project Blog: New ELF Linker from the LLVM Project」において、新しいELFリンカをフルスクラッチから開発していることを発表した。開発はLinuxとFreeBSD上のテストをフルパスするところまで実現しており、aつのマイルストーンに到達したと説明がある。このリンカはGNUのリンカ実装の置き換えとして広く普及する可能性がある。 ELFリンカとしてはGNU ldまたはGNU goldが使われることが多い。LLVMのリンカ「lld」は特に

                          • LLVMの新しいリンカLLDがLLVM 4で導入へ

                            Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。この本では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

                              LLVMの新しいリンカLLDがLLVM 4で導入へ
                            • mold と呼ばれる高速なリンカを利用して Chromium を Build してみる - Nao Minami's Blog

                              はじめに 現在、広く使われているリンカの中でもっとも高速なものとして有名なのは LLVM project の LLD でしょう。LLD のパフォーマンスについては、公式 document に以下のような benchmark が掲載されていて、GNU ld, GNU gold などと比較して圧倒的に早いという結果が示されています。 Program Output size GNU ld GNU gold w/o threads GNU gold w/threads lld w/o threads lld w/threads ffmpeg dbg 92 MiB 1.72s 1.16s 1.01s 0.60s 0.35s mysqld dbg 154 MiB 8.50s 2.96s 2.68s 1.06s 0.68s clang dbg 1.67 GiB 104.03s 34.18s 23.49s

                                mold と呼ばれる高速なリンカを利用して Chromium を Build してみる - Nao Minami's Blog
                              • LLD - The LLVM Linker — lld 19.0.0git documentation

                                LLD - The LLVM Linker¶ LLD is a linker from the LLVM project that is a drop-in replacement for system linkers and runs much faster than them. It also provides features that are useful for toolchain developers. The linker supports ELF (Unix), PE/COFF (Windows), Mach-O (macOS) and WebAssembly in descending order of completeness. Internally, LLD consists of several different linkers. The ELF port is

                                • Goodbye Gnu-EFI!

                                  The recommended way to link UEFI applications on linux was until now through GNU-EFI, a toolchain provided by the GNU Project that bridges from the ELF world into COFF/PE32+. But why don’t we compile directly to native UEFI? A short dive into the past of GNU Toolchains, its remnants, and a surprisingly simple way out. The Linux World (and many UNIX Derivatives for that matter) is modeled around EL

                                  • Zabbix ローレベルディスカバリ(LLD)の拡張① - Qiita

                                    Zabbix ローレベルディスカバリ(LLD)の拡張① Zabbix ローレベルディスカバリ(LLD)の拡張② Zabbix ローレベルディスカバリ(LLD)の拡張③ Zabbix ローレベルディスカバリ(LLD)の拡張④ Zabbix ローレベルディスカバリ(LLD)の拡張⑤ はじめに Zabbix v2.0からローレベルディスカバリ機能(LLD)が使用出来る様になりました。 しかし、v2.4でもデフォルトで用意されているLLDアイテムキーは4種類しかありません。 LLDは使い方次第で、ホスト毎の差異を埋めてくれる便利な機能です。 LLDアイテムキーを拡張し、様々なデータのアイテム登録を自動化することが出来ます。 LLDで使えるアイテムキー(v2.4現在) net.if.discovery since 2.0 vfs.fs.discovery since 2.0 system.cpu.d

                                      Zabbix ローレベルディスカバリ(LLD)の拡張① - Qiita
                                    • 2017 LLVM Developers’ Meeting: R. Ueyama “lld: A Fast, Simple, and Portable Linker”

                                      http://www.LLVM.org/devmtg/2017-10/ — lld: A Fast, Simple, and Portable Linker - Rui Ueyama Slides: http://llvm.org/devmtg/2017-10/slides/Ueyama-lld.pdf — lld is a drop-in replacement for system linkers that supports ELF (Unix), COFF (Windows) and Mach-O (macOS) in descending order of completeness. We made a significant progress over the last few years in particular for ELF, and our linker is now

                                        2017 LLVM Developers’ Meeting: R. Ueyama “lld: A Fast, Simple, and Portable Linker”
                                      • Please try out clang-cl and lld-link on Windows

                                        David Major dmajor at mozilla.com Tue Mar 13 14:31:28 UTC 2018 Previous message: Developer Tools Team React 16 upgrade Next message: Please try out clang-cl and lld-link on Windows Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] Link xul.dll in 20 seconds with this one weird trick! Hi everyone, clang-cl builds of Firefox have come a long way, from being a hobby project of a few deve

                                        • Zabbixでプロセス監視を自動で設定追加する - Qiita

                                          ZabbixでSNMPのLLD(ローレベルディスカバリ)を利用して正規表現で定義したプロセスが、監視対象で動作していたら自動でプロセス監視の設定を追加する。 これでプロセス監視を1つのテンプレートに集約できる。 前提条件 監視対象にZabbix Agentがインストール済みであること SNMP設定 1. 監視対象にsnmpdインストール # yum install -y net-snmp # sed -i -e 's/^#view all/view all/' -e 's/systemview none none/all none none/' /etc/snmp/snmpd.conf # chkconfig snmpd on # service snmpd start 上記でSNMPで全ての項目を取得できるよう設定を変更している 別途Zabbix Serverから監視対象への 161po

                                            Zabbixでプロセス監視を自動で設定追加する - Qiita
                                          • HaskellのGHCによるビルドをLLVMのリンカーLLDで高速化することが出来なかった

                                            リンクが遅い 現在SYAKERAKEをHaskellとYesodで書いています. ゲーム販売webアプリケーションSYAKERAKEを支える技術, HaskellとYesodで作られています - ncaq 開発上常に問題が発生していて, それはビルドに時間がかかるということです. コンパイルが必要になる時はまあ仕方がないです. 本質的に時間がかかることに対してはハードウェアの更新で対応するしかないです. しかし, 差分ビルドが有効になっていても, ちょっとした1つのファイルの変更でかなり時間がかかってしまうという問題が発生しています. どうもビルドの様子を見ていると, ファイルのコンパイル自体は1つのファイルなのでそんなに時間がかかっていませんが, リンクに時間がかかっているようです. ここで私は1つの記述を見つけました. GHC now tries to use the gold and

                                              HaskellのGHCによるビルドをLLVMのリンカーLLDで高速化することが出来なかった
                                            • Topics - Library Linked Data

                                              Topics for LLD Discussion and Use Cases NOTE: THIS PAGE IS BEING FURTHER DEVELOPERED AS TopicsDiscussed. PLEASE SUSPEND FURTHER EDITING OF THIS PAGE UNTIL THIS HAS BEEN DISCUSSED... -- Tom Occurrence of a nickname on a topic line indicates that the person has coined the topic or is interested in it. CM. Conceptual Models and KOS kc: This is the development of conceptual information models (like FR

                                              1