並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 81件

新着順 人気順

dtraceの検索結果1 - 40 件 / 81件

  • BPF Performance Toolsを読んだ感想 - go_vargoのブログ

    BPF Performance Toolsを読んだので、感想ブログです。 先に感想を言っておくと「最高」でした。 BPF Performance Toolsとは? NetflixでKernel・パフォーマンスにかかわるチューニング・アーキテクチャを専門にしているBrendan Greggさんが書いた本です。BPFのiovisorというTracing分野の第一人者でもあります。 www.brendangregg.com 2019年12月に発売したばかりなので、BPFの分野では最新の本でしょう。他の著書に有名な本として(日本語版の)「詳解システム・パフォーマンス」があります。 BPF Performance Toolsは「詳解システム・パフォーマンス」第二弾と言えるかもしれません。ちなみにページ数は880Pあり、Kindleで表示される読み終わるための平均的な時間は「27時間30分」で、大作R

      BPF Performance Toolsを読んだ感想 - go_vargoのブログ
    • PHP: PHP 8.0.0 Release Announcement

      Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su

        PHP: PHP 8.0.0 Release Announcement
      • Linux eBPFトレーシング技術の概論とツール実装 - ゆううきブログ

        eBPF(extended Berkley Packet Filter)という用語を著者が初めてみかけたのは、2015年ごろだった。最初は、eBPFをその字面のとおり、パケットキャプチャやパケットフィルタリングを担うだけの、Linuxの新しいサブシステムであろうと認識していた。しかし、実際にはそうではなかった。 システム性能の分析のための方法論をまとめた書籍Systems Performance 1 の著者で有名なBrendan Greggが、Linuxのネットワークサブシステムとは特に関係ない文脈で、古典的なシステム性能計測ツールでは計測できないことを計測するツールを作っていた。その計測ツールがeBPFという技術によって実装されていることを知ったときに、eBPFに興味をもったのだった。また、eBPFは、システム性能を調べる用途以外にXDP(eXpress Data Path)と呼ばれるプ

          Linux eBPFトレーシング技術の概論とツール実装 - ゆううきブログ
        • Linux Performance

          static, benchmarking, tuning: sar, perf-tools, bcc/BPF: bpftrace, BPF book: Images license: creative commons Attribution-ShareAlike 4.0. This page links to various Linux performance material I've created, including the tools maps on the right. These use a large font size to suit slide decks. You can also print them out for your office wall. They show: Linux observability tools, Linux static perfor

          • PHP: PHP 8.1.0 Release Announcement

            Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su

              PHP: PHP 8.1.0 Release Announcement
            • Linux perf Examples

              Recent posts: 24 Mar 2024 » Linux Crisis Tools 17 Mar 2024 » The Return of the Frame Pointers 10 Mar 2024 » eBPF Documentary 28 Apr 2023 » eBPF Observability Tools Are Not Security Tools 01 Mar 2023 » USENIX SREcon APAC 2022: Computing Performance: What's on the Horizon 17 Feb 2023 » USENIX SREcon APAC 2023: CFP 02 May 2022 » Brendan@Intel.com 15 Apr 2022 » Netflix End of Series 1 09 Apr 2022 » Te

              • macOS Internals

                macOS Internals.md macOS Internals Understand your Mac and iPhone more deeply by tracing the evolution of Mac OS X from prelease to Swift. John Siracusa delivers the details. Starting Points How to use this gist You've got two main options: Under Highlights, read all the links you're interested in, or Use "OS X Reviewed" as an index and just read all the reviews end to end. (This is not the fast o

                  macOS Internals
                • sh の組み込みコマンド read は遅い

                  2020.3.29 00:11 バッファサイズと shcat の本来の意図に関して文末に追記 まとまった文章を書く機会が減ってしまって、これではいかんと久しぶりに更新。 大学院に入った 19 年前。担当していた大学院生から研究室の計算機環境の管理を引き継いだ。動機は単純で、Unix 系 OS の管理に興味があったからだった。研究室では過去の管理者が構築したメールサーバが引き継がれていて、詳しいひとはすでにいなくなっていた。Unix 系 OS はデスクトップ用途で使われておらず、学生はほぼ全員、当時現役だった管理者が Windows NT で構築したファイルサーバと数台の Windows クライアントマシンを使っていた。 Windows の環境に問題があるわけではなかったが、クライアントマシンは台数が少なく、取り合いになっていた。ネットワークも共有フォルダがあるだけで、認証やホームディレクト

                  • 「Rosetta 2」はこうなっていた! - 新・OS X ハッキング!(273)

                    少し間が空いてしまったが、決してサボっていたわけではない。「Apple M1」搭載のMacBook Airのレビュー記事を3回にわたり書いているし、これこのとおり、OS Xハッキング!に新ネタを...というわけで、今回は「Rosetta 2」。MacBook Airのレビューでサラリと触れたが(リンク)、より深く掘り下げてみたい。 Rosetta 2の基本 Finderを使いアプリの情報ウインドウを眺めてみると、Intel/Catalina環境では見かけなかった「Universal」や「Intel」といった文字列を確認できる。前者はUniversalアプリでx86_64バイナリとARM64バイナリの両方を、後者はx86_64バイナリのみを含むアプリという意味だ。もうひとつ「Appleシリコン」と表示されるアプリもあるが、こちらはARM64バイナリのみということになる。 Universalア

                      「Rosetta 2」はこうなっていた! - 新・OS X ハッキング!(273)
                    • BPF Performance Tools: Linux System and Application Observability (book)

                      BPF Performance Tools: Linux System and Application Observability (book) 15 Jul 2019 BPF (eBPF) tracing is a superpower that can analyze everything, and I'll show you how in my upcoming book BPF Performance Tools: Linux System and Application Observability, coming soon from Addison Wesley. The book includes over 150 BPF observability tools that you can run to find performance wins and troubleshoot

                      • Ruby 3.2.0dev にマージされた Rust YJIT をビルドする - koicの日記

                        YJIT の Rust 実装がマージされました。いまのところ今年の Shopify からの代表作ではと見ています (YJIT 自体は Ruby 3.1 で C 実装導入されている機能です) 。 github.com そういうわけで、現在の Ruby 3.2.0dev で YJIT を有効にする場合は、Rust の処理系 (1.60.0 1.58.1 以上) が必要になります。Rust のインストールに使う rustup については以下の公式ページなどを参照してください。 www.rust-lang.org YJIT はデフォルトではビルドされません (なので YJIT を使わないビルドであれば Rust 処理系は不要です) 。 デフォルトの YJIT なしの Ruby をビルドしている場合は --yjit オプションを渡しても、ruby: warning: Ruby was built w

                          Ruby 3.2.0dev にマージされた Rust YJIT をビルドする - koicの日記
                        • PHP: PHP 8.2.0 Release Announcement

                          Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su

                            PHP: PHP 8.2.0 Release Announcement
                          • バグ調査やパフォーマンス改善に役立つ!eBPFを用いたトレーシングについて | さくらのナレッジ

                            はじめに この記事では、Linuxカーネルに実装されているパケットフィルタであるeBPFを使ったトレーシングツール、具体的にはDTrace, SystemTap, bpftrace,bcc-toolsなどについて紹介させていただきます。この記事の目標を以下に示します。 DTraceやSystemTapを簡単に説明し、eBPFを用いたトレーシングのうれしいところをお伝えします。 bpftraceやbcc-toolsといったツールの簡単な使い方を紹介し、細かいツールを調べる上での足がかりになるようにします。 公式の資料がかなり充実していることをお伝えします。この記事で使っている画像はそこから使わせていただいています。 eBPF概説 eBPFは、Linuxカーネル3.15からBPF(Berkeley Packet Filter)の拡張仕様として導入されました。BPFはこれまでにもパケットフィルタ

                              バグ調査やパフォーマンス改善に役立つ!eBPFを用いたトレーシングについて | さくらのナレッジ
                            • PHP: PHP 7.4.x から PHP 8.0.x への移行 - Manual

                              Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su

                              • Dive Deep Redis ~ 入門から実装の確認まで - hayashier Tech Blogs

                                ——————————————————————————————————————————————————— Redis(REmote DIrectory Server)Redisは例えば以下の特徴を持つLLOOGGを元としたインメモリの非リレーショナルのデータベースです。 String, List, Hash, Set, Sorted Setに代表される豊富なデータ型シングルスレッド処理イベント駆動処理 by aeライブラリ通常RESPプロトコルによるクライアント/サーバーモデルでリクエスト/レスポンスデータは条件を満たす場合にメモリ最適化されて保存。CPUとのトレードオフRAXを利用したメモリ利用量の最適化(Redis 4.0~)この記事では、入門から始まり、実装をより意識することで深く理解することを目標としています。 以下の説明中の(*)マークは、特にVanilla Redisでの話となり

                                  Dive Deep Redis ~ 入門から実装の確認まで - hayashier Tech Blogs
                                • Perl 5.32の連鎖比較(Chained comparisons)はどの様に実装されているのか - Acme::AnaTofuZ->new;

                                  この記事はPerl Advent Calendar 2020と琉大 Advent Calendar 2020の11日目の記事です。 PerlはPerl5になって長いですが、現在の最新の安定版のバージョンは5.32です。 Perl5.32で取り入れられた(厳密には5.31からですが)のおもしろ機能として連鎖比較(Chained comparisons)が存在します。 今までPerlで数値などが特定の範囲に含まれているかどうかをif文で判定するには次の様に書く必要がありました。 if (10 < $n && $n <= 20) これがこう書ける様になります!!! if ( 10 < $n <= 20 ) {...} 便利!!!!!!!!!!!!!!!!!!!!!!!! ...........というわけで、この便利な連鎖比較がどの様に実装されているかを探検してみます。 言語処理系の実装 さて今か

                                    Perl 5.32の連鎖比較(Chained comparisons)はどの様に実装されているのか - Acme::AnaTofuZ->new;
                                  • eBPF and Kubernetes: Little Helper Minions for Scaling Microservices - @kanatakita's blog

                                    KubeCon + CloudNativeCon Europe 2020 2日目 のセッションである eBPF and Kubernetes: Little Helper Minions for Scaling Microservices についてです。 スライド 以下のような内容でした。 eBPF についての初学者向けな説明 eBPF の歴史 eBPF の Kubernetes CNI 実装である Cilium について ※ 時系列を雑に日本語で起こしましたが知らないことばかりで都度調べながらの作業でした。 結局ほとんどスライドのままな気がしますが、それでも他の記事以上に誤りが多い気がするので間違っている箇所があったら優しく指摘してください・・笑 Challenges from OS kernel side 前半は eBPF を Linux に入れるまでの話?正直良くわからなかった・・

                                      eBPF and Kubernetes: Little Helper Minions for Scaling Microservices - @kanatakita's blog
                                    • Tenderlove Making - Instance Variable Performance

                                      Let’s start today’s post with a weird Ruby benchmark: require "benchmark/ips" class Foo def initialize forward forward ? go_forward : go_backward end ivars = ("a".."zz").map { |name| "@#{name} = 5" } # define the go_forward method eval "def go_forward; #{ivars.join("; ")} end" # define the go_backward method eval "def go_backward; #{ivars.reverse.join("; ")} end" end # Heat Foo.new true Foo.new fa

                                      • 超入門USDT - ローファイ日記

                                        Linuxアドベントカレンダー2020 8日目の記事です。前日はmomomo_rimotoさんの多段sshとchroot環境。そしていろいろなコマンドを使いたいでした。 qiita.com 今日はみんな大好きなeBPFにも関係して、特にUSDTという機能に関するお話をします。 USDT、それは USDT(User Statically-Defined Tracing) とは、要するに、ユーザランドにあるプログラムに対して、静的にトレースのための窓口(プローブ)を埋め込む仕組みです。トレースが無効の際はパフォーマンスが落ちないような工夫がされています。 詳細な説明は id:mrtc0 の記事の方がわかりやすいので、簡単な説明に留めますが... blog.ssrf.in カーネル側をトレースする際に、動的な関数などのプローブをkprobe、静的にカーネルに組み込まれたプローブをtracepoi

                                          超入門USDT - ローファイ日記
                                        • Incorrect I/O throttling when using block device files — Matt Jacobson

                                          Matt Jacobson February 2022 Summary: Apple has a bug in its disk I/O throttling code that affects raw disk copies. I walk through my diagnosis. This week, I was restoring a slow-as-molasses 2.5-inch HDD to an SSD, as part of an upgrade for my mom's work machine. For whatever reason, the USB SATA controller I was using seems to limit me to 15 MB/s and 4 kB transfers. Not ideal when I'm transferring

                                          • Kalyn: a self-hosting compiler for x86-64

                                            Over the course of my Spring 2020 semester at Harvey Mudd College, I developed a self-hosting compiler entirely from scratch. This article walks through many interesting parts of the project. It’s laid out so you can just read from beginning to end, but if you’re more interested in a particular topic, feel free to jump there. Or, take a look at the project on GitHub. Table of contents What the pro

                                            • RubyKaigi 後日譚: GC のレイテンシを可視化する人の補足 - ローファイ日記

                                              本日RubyKaigiでお話ししてきました。BPFのObservability関連の機能を紹介しながら実際にサンプルをRubyで書いていくみたいな流れでした。以下に資料を。 docs.google.com 一番見せたかった「RubyのGC関係USDTを用いてレイテンシを可視化する」というツールのデモが...流せなかったので*1、心残りを洗い流すべく補足記事を書きます。 USDT? Rubyを特定のオプション --enable-dtrace でconfigureしてビルドすると、USDTと呼ばれる情報がRubyのバイナリに付与されます。この情報を使うとRubyの生きているプログラムに対して、さまざまな細かい情報を取得できるようになります。例えば以下のタイミングでイベントがフックされます。 オブジェクト一般、シンボル、文字列、配列、ハッシュの作成 C定義のメソッドの呼び出し、リターン GCの開

                                                RubyKaigi 後日譚: GC のレイテンシを可視化する人の補足 - ローファイ日記
                                              • Node.js — Node v14.5.0 (Current)

                                                Notable Changes V8 engine is updated to version 8.3 This version includes performance improvements and now allows WebAssembly modules to request memories up to 4GB in size. For more information, have a look at the official V8 blog post. Contributed by Matheus Marchini and Michaël Zasso - #33376. Initial experimental implementation of EventTarget This version introduces an new experimental API Even

                                                  Node.js — Node v14.5.0 (Current)
                                                • eBPF+USDTでphpをトレースしてみる、bpftaceとRbBCCでやる - ださろぐ@はてな

                                                  最近プロダクション環境での諸々の調査に使いたいというモチベーションで BPF Performance Tools (Book) 読み進めつつ、提供されているbcc-toolsを試したりbpftraceでlibほげほげの関数パラメータを抜いたりしていた、のだがUSDTを使用したトレースはうまく動かせず悶々としていた。 正直USDTはパッケージ入れておけばいきなりproductionでさくっと使える、という感じでもなく当初の目的からはやや外れているのだが、機構があるのに動かせないというのはなんとももどかしいので、諸々試行錯誤してとりあえず動いた、というころまでの記録を残しておく。対象はphpで。 なぜphpなのかというと、プライベート的にもお仕事的にも馴染みがありワンチャン使える可能性もあるのでは・・という期待と、ツールを試す過程で標準パッケージのphpで $ tplist-bpfcc -l

                                                    eBPF+USDTでphpをトレースしてみる、bpftaceとRbBCCでやる - ださろぐ@はてな
                                                  • bpftraceでテトリス - Qiita

                                                    みなさんこんにちは.突然ですがbpftraceってご存知でしょうか? 名前から明らかなようにbpfを利用したトレーシングツールです.bpftraceの設計は以前から存在するDTraceやSystemTapに影響を受けています.それらのツールに馴染みのある人にとってはむしろ,bpftraceはDTraceやSystemTapのBPF版と言った方が(非常に雑ですが)分かりやすいかもしれません. 一般にBPFを利用してトレーシンングを実施する場合は,1) BPFプログラム本体 と 2) トレーシング結果を表示するためのユーザランドのプログラム を書く必要がありますが,bpftraceでは独自のスクリプト言語により,それらを特に意識せずにトレーシング処理が記述できます.例えば,プロセス別にシステムコール発行数を集計したい場合は以下のようにしてできます.便利ですね. % bpftrace -e 't

                                                      bpftraceでテトリス - Qiita
                                                    • H2O をトレースできるようになった | Toru Maesaka

                                                      H2O が処理する HTTP リクエストを BPF や DTrace でトレース可能になりました。 今回は Fastly での仕事の一貫として貢献させてもらいました (#2194 や #2182)。 Fastly は H2O を最前線で採用しているので、スタッフがトラブルシュートしやすくすることが目的です。 つい先日、ニューヨークで Kazuho さんと論議する機会があったおかげで、Logging に適した高レイヤの USDT Probe をスムーズに組み込めました。 背景技術や使い方はいずれ、公式チュートリアルなどで紹介します。 今すぐ試したい場合は下記の資料を参考にしてもらえればと思います。 https://torumk.com/h2o/tracing (概要) https://github.com/toru/h2olog (BPF Client 実装) あわせて読みたい

                                                        H2O をトレースできるようになった | Toru Maesaka
                                                      • Accurate, low-overhead per process bandwidth monitoring on Linux in 40 lines of bpftrace

                                                        Existing tools to measure bandwidth usage on Linux Measuring bandwidth with bpftrace The full program Preamble Installing kprobes Measuring incoming data Measuring outgoing data Cleanup Adding live updates Future work Further reading Existing tools to measure bandwidth usage on Linux Searching for “per process network usage linux” is disappointing. Most of the recommended tools – like iftop, nload

                                                        • BCCでBPF toolsの開発をするための基礎知識 - Islands in the byte stream

                                                          最近仕事で h2olog を開発しています (H2O の QUIC 層をトレースしよう | Toru Maesaka) 。これはh2oのUSDT からデータを取り出すBPF toolです。その関係でBPFとかBCCをいろいろ触ったので、BPF toolsの開発に必要なことを書いておきます。 なおBCCまわりはまだ細かいところの作りが荒いので、思わぬトラブルがあるかもしれません。幸いpull-reqのレビュー&マージもかなり早いので、気になったところはどんどん直していっています。 ToC ToC 開発環境のセットアップ トレース対象のプログラムのdtrace supportを有効にする トレース対象のプログラムのUSDTを確認する 開発する 用語集 BPF BPF module (BPF program) BCC (iovisor/bcc) BPF verifier eBPF USDT bp

                                                            BCCでBPF toolsの開発をするための基礎知識 - Islands in the byte stream
                                                          • Web系エンジニアなら知っておきたいツール5選。ハマりポイントも解説 | 株式会社LIG(リグ)|DX支援・システム開発・Web制作

                                                            はいさーい! 2021年11月にジョインしたうーまーです。沖縄からフルリモートでバックエンドとフロントエンドのお仕事をさせてもらってます。 入社直後って、先輩たちの顔を覚えたり社内文化にとまどったり、まっさらなマシンを受け取って初期設定したりと割と大変ですよね。特にマシンの設定なんて、一度してしまったらなかなか変更することないので、基本的なことを忘れてしまってたりしますよね。 ということで、転職したての僕がLIGに入って最初つまづいた事例を交えながら、転職前に押さえておきたいツール5選を紹介したいと思います。 Web系エンジニアが使うツールの話なので、転職希望者だけでなく、就職・組織で働くのが初めてって方にも刺さる内容になっています。 1.コマンドプロンプト(ターミナル) windowsで言うコマンドプロンプト、macだとターミナル。いわゆる黒い画面。 少し前(と言っても10年くらい)まで

                                                              Web系エンジニアなら知っておきたいツール5選。ハマりポイントも解説 | 株式会社LIG(リグ)|DX支援・システム開発・Web制作
                                                            • Rust after the honeymoon – The Observation Deck

                                                              Two years ago, I had a blog entry describing falling in love with Rust. Of course, a relationship with a technology is like any other relationship: as novelty and infatuation wears off, it can get on a longer term (and often more realistic and subdued) footing — or it can begin to fray. So well one might ask: how is Rust after the honeymoon? By way of answering that, I should note that about a yea

                                                              • eBPF for Rubyist 現状確認(1) - RbBCC の使い方 in March 2020 - ローファイ日記

                                                                気づいたら3月に... このたび、Rubyアソシエーションの助成対象となった RbBCC の開発について、最終報告書を出したのですが、せっかくなのでブログで何をやったかも書いとこうという気持ちです。 udzura.hatenablog.jp これの話です。 で、サラッと書くつもりでしたががっつりしています。週末プログラミングのお供にでもどうぞ。 RbBCC の話 以前ブログに書いた気がしていたんですが、 hello world が動いた!みたいなことしか内容がなくて、 udzura.hatenablog.jp 今はもうちょっと現実的なツールが動くんで、とりあえず書いて動かしてみましょう。 動かす環境づくりとインストール まずLinuxを用意します。カーネルのバージョンは新しいほど嬉しいです。今回はもうすぐリリースされるであろう Ubuntu Focal(20.04) を使います。カーネルバ

                                                                  eBPF for Rubyist 現状確認(1) - RbBCC の使い方 in March 2020 - ローファイ日記
                                                                • Kernel analysis with bpftrace [LWN.net]

                                                                  This article brought to you by LWN subscribersSubscribers to LWN.net made this article — and everything that surrounds it — possible. If you appreciate our content, please buy a subscription and make the next set of articles possible. At the 2019 Linux Storage, Filesystem, and Memory-Management Summit (LSFMM) I gave a keynote on BPF observability that included a kernel issue I had debugged on Netf

                                                                  • Node.js — Node.js 19 is now available!

                                                                    We’re excited to announce that Node.js 19 was released today! Highlights include the update of the V8 JavaScript engine to 10.7, and HTTP(s)/1.1 KeepAlive enabled by default. Node.js 19 will replace Node.js 18 as our ‘Current’ release line when Node.js 18 enters long-term support (LTS) later this month. As per the release schedule, Node.js 19 will be the ‘Current' release for the next 6 months, un

                                                                      Node.js — Node.js 19 is now available!
                                                                    • Technical reasons to choose FreeBSD over GNU/Linux

                                                                      Published on 2020-04-11. Modified on 2023-10-27. I run FreeBSD as my daily driver on both my main workstation and on all my servers and I have been running FreeBSD since about 1999 because I consider it an amazing operating system. In this article I will address some of the technical reasons for choosing FreeBSD over a GNU/Linux distribution. A complete operating system On FreeBSD you'll notice ri

                                                                      • Node.js — Node v14.0.0 (Current)

                                                                        Notable Changes Deprecations (SEMVER-MAJOR) crypto: move pbkdf2 without digest to EOL (James M Snell) #31166 (SEMVER-MAJOR) fs: deprecate closing FileHandle on garbage collection (James M Snell) #28396 (SEMVER-MAJOR) http: move OutboundMessage.prototype.flush to EOL (James M Snell) #31164 (SEMVER-MAJOR) lib: move GLOBAL and root aliases to EOL (James M Snell) #31167 (SEMVER-MAJOR) os: move tmpDir(

                                                                          Node.js — Node v14.0.0 (Current)
                                                                        • GitHub Trending RSS

                                                                          GitHub Trending RSS Star The latest build: 7 October, 2023 All Languages Unknown Languages Unknown languages 1C Enterprise 2-Dimensional Array 4D ABAP ABAP CDS ABNF ActionScript Ada Adblock Filter List Adobe Font Metrics Agda AGS Script AIDL AL Alloy Alpine Abuild Altium Designer AMPL AngelScript Ant Build System Antlers ANTLR ApacheConf Apex API Blueprint APL Apollo Guidance Computer AppleScript

                                                                          • 今週の PHP 2023-01-21 〜 2023-01-27

                                                                            PHP のメーリングリストから、気になった情報をピックアップします。 Internal RFC: rules for #include directives - Externals ここで言う #include は PHP のソースコードの方です。 私自身の理解度が浅い分野ではあるのですが、大まかにまとめると 巨大コードベースで #include が不適切になっていたのでリファクタした 4つほど PR マージしたら、--enable-dtrace オプションのビルドがエラーになるようになった それに対する不具合修正をしたが、これまでの PR もすべて戻せという方向に発展し..... よし、それなら RFC で解決しようじゃないか! という流れです。一連のやり取りには激しい言葉も一部見られます。 PHP の機能性には影響しないので、 RFC を作るものではないという意見もありましたが、紛争解

                                                                              今週の PHP 2023-01-21 〜 2023-01-27
                                                                            • Sampling v. tracing

                                                                              Perf is probably the most widely used general purpose performance debugging tool on Linux. There are multiple contenders for the #2 spot, and, like perf, they're sampling profilers. Sampling profilers are great. They tend to be easy-to-use and low-overhead compared to most alternatives. However, there are large classes of performance problems sampling profilers can't debug effectively, and those p

                                                                              • How much Rust's bounds actually cost | Readyset

                                                                                How much does Rust's bounds checking actually cost? Rust prevents out-of-bounds memory accesses and buffer overruns via runtime bounds checks - what’s the cost of those bounds checks for a real-world, production application? Recently, a pair of critical vulnerabilities were reported in the OpenSSL project. Surprising absolutely nobody, the root cause of both vulnerabilities turned out to be a buff

                                                                                  How much Rust's bounds actually cost | Readyset
                                                                                • Java 11でコンパイルせずに単一ファイルプログラムを実行する

                                                                                  mohamed_taman$ java HelloUniverse Hello InfoQ Universe これにより、JVMが起動し、クラスがロードされ、コードが実行されます。 しかし、コードの一部をすばやくテストしたい場合や、Javaの学習を始めたばかりの場合(これが鍵です)、言語を試してみたい場合はどうでしょう。そのプロセスにおけるこれら2つのステップは、少し手間がかかるように思えるかもしれません。 Java SE 11では、中間コンパイルなしで、単一のソースコードファイルを直接起動するオプションがあります。 この機能は、簡単なプログラムを試してみたい言語を初めて使用する人にとって特に便利です。この機能をjshellと組み合わせると、優れた初心者向けの学習ツールセットが得られます。 新しいJshell 10+の詳細については、ビデオコース「 Hands-on Java 10 Pro

                                                                                    Java 11でコンパイルせずに単一ファイルプログラムを実行する