UNIX V5, OpenBSD, Plan 9, FreeBSD, and GNU coreutils implementations of echo.c UNIX Fifth Editionのecho.cは、以下のような実装になっている。 main(argc, argv) int argc; char *argv[]; { int i; argc--; for(i=1; i<=argc; i++) printf("%s%c", argv[i], i==argc? '\n': ' '); } いかにも昔のC言語らしいコードだ。ヘッダーの#includeはなく、関数の戻り値の型も指定されない。仮引数の型も、今となっては物珍しいだろうが後書きだ。 OpenBSDのコードは以下の通り。 /* $OpenBSD: echo.c,v 1.7 2009/10/27 23:59:21 deraadt
最近のPlackとStarletにはパフォーマンス改善のため次のような変更が加えられています。 Plackに対する変更 (カッコ内はバージョン) Plack::Request::query_parameters の最適化 (1.0018) Plack::Middleware::AccessLog に Apache::LogFormat::Compilerの導入 (1.0023) Starletに対する変更 local $SIG{..} を無くし、rt_sig* system call が呼ばれる回数を削減 (0.17_01) headerとbodyを結合して一度に出力する閾値を1024から8192に変更 (0.18) ベンチマーク これらの変更の効果を確認するために、次のベンチマークを実行してみます まずアプリケーションはこんな感じ use Plack::Builder; use Plac
This document discusses different methods for virtualizing I/O in virtual machines. It covers virtual I/O approaches like virtio, PCI passthrough, and SR-IOV. It also explains the role of the VMM/hypervisor in managing I/O between VMs and physical devices using techniques like VT-d, Open vSwitch, and single root I/O virtualization. Finally, it discusses emerging standards for virtual switching lik
GbEをベンチしてみたシリーズ考察編。 取り敢えず、結論を先に。 tg3最強。 NetPerfの速度こそ落ちるが、CPU負荷率の低さとCIFSの速度はダントツ。 e1000とe1000eは僅差でe1000の勝ち。 でも駄目NIC相手にはe1000の方がやはり底力がある。 Yukon遅ぇ。 つか何ですかこの受信時CPU負荷率。 このクラスのNICに言わせると、JumboFrameはゴミらしい。 以上をまとめると、 LANで幸せになりたけれぱ、全てのNICをマトモなもので統一せよ。 ってことで。 実に真っ当でつまらん結論になってしまった。 ◇ 個人的にインパクトがデカかったのは、tg3の予想以上の力強さ。 送受信共にe1000よりCPU負荷が圧倒的に低く、特に送信時などe1000の半分で済むという。 一方、課題となっていたe1000 vs e1000e。 結論としては、「やっぱe1000の方が
webサービスとしてのcoco、また株式会社cocoに少しでも関係された方には読んでいただきたいです。 本来であれば少しでもご支援頂いた方には直接お詫びすべきところなのですが、その時間も精神的余裕もなく、とりあえずこのブログでご挨拶させていただこうと思いました。 題名の通りなのですが、cocoというサービスを法人として全力で運営することを一旦ストップすることになりました。詳細は後述します。 ご支援頂いた方、また何よりメンバーとして3ヶ月間活動してくれた方々の労力をほとんど無に帰すような形にしてしまい、申し訳なさと情けなさで一杯です。小さい組織ながらも自分のリーダーとしての圧倒的な力不足等、自分の至らなさを何度もつきつけられた3ヶ月間でした。 また、会社関連だけでなく、個人的にも2013年3月⇛4月への移り変わりには重要な変化があり、大学同期が立派な会社で新生活を始める中で僕も違う生活が始ま
Linux には複数のファイルシステムがあります.これらには,仕様としての機能差の他に,品質・安定度に関して大きな差があると考えられています. 今回は,そのあたりを定量的に分析した論文をご紹介. A Study of Linux File System Evolution [キャッシュ] https://www.usenix.org/conference/fast13/study-linux-file-system-evolution 調査の対象は,XFS/Ext4/Btrfs/Ext3/Reiser/JFS の 6 つのファイルシステム.これらについて,Linux 2.6.0 (Dec ’03) から 2.6.39 (May ’11) の間に取り込まれた 5,079 個のパッチを分析しています. パッチの種類 まず,パッチを次の 5 種類に分類しています. Bug バグの修正. Reli
As soon as I saw a Flame Graph visualization I knew it would make a great addition to NYTProf. So I’m delighted that the new Devel::NYTProf version 5.00, just released, has a Flame Graph as the main feature of the index page. In this post I’ll explain the Flame Graph visualization, the new ‘subroutine calls event stream’ that makes the Flame Graph possible, and other recent changes, including impr
(2022年8月31日更新) はてなブログでは今回、SEO専門家の 辻正浩さん に「はてなブログとSEO」について寄稿いただきました。SEOに興味のあるブログ運営者の方にはかなり役に立つ内容となっています。どうぞお読みください。 はじめまして。SEO専門家、so.laの辻正浩(id:t-w-o)です。Webサービスを中心にさまざまな有名WebサイトのSEOをお手伝いしており、はてなブログにもSEOのアドバイザーとして協力しています。 今回、開発ブログにお邪魔して、はてなブログのSEO効果と、ブログ記事をより検索されやすくするポイントをご紹介します。 本記事は最初2013年4月に公開されましたが、それから検索エンジンの仕様は大きく変わりました。はてなブログも様々な面で進化しました。今回、2022年最新版として改めてはてなブログのSEOをご紹介します。 本稿の構成 無料ブログをSEO面で比較す
NVIDIAのKepler GPUでは、Dynamic ParallelismとHyper-Qという新機能が搭載された。従来、この機能が使えるGPUは、Top500 1位のTitanスパコンなどに使われているK20とK20Xという科学技術計算用のアクセラレータボードだけであったが、2013年2月に発表されたコンシューマ向けのGeForce GTX Titanでもサポートされ、1000ドル以下のGPUボードでDynamic ParallelismとHyper-Qが使えるようになった。 これは比較的安価なGTX Titanを搭載するPCやワークステーションで、Titanスパコンなどのソフトウェアの開発が可能になり、また、大規模なスパコンで開発された構造解析や薬剤シミュレーションなどのプログラムが(解ける問題規模は小さいが)ワークステーションで実行できるようになることを意味している。 GPUでの
技術部・開発基盤グループの村田です。 クックパッドは本日から、本番環境を Ruby 2.0.0-p0 に移行しました。Ruby 2.0.0-p0 は 2013年2月24日にリリースされた Ruby の最新バージョンです。新しい Ruby を使って気持ち良く開発するために、できるだけ早く Ruby をバージョンアップしようと尽力してきた結果が実りました。 Ruby のバージョンアップでレスポンスが高速になった クックパッドが Ruby 2.0.0 に対応したことで、ユーザと開発者の両者にとって、これまでよりも快適になっています。 Ruby のバージョン移行は、Ruby Enterprise Edition から Ruby 1.9.3-p392 を経由して Ruby 2.0.0-p0 へと段階的に実施しました。Ruby を Enterprise Edition から 1.9.3、そして 2.0
This Project is closed and not maintained anymore. I don't find any value in creating a Vim distribution any more. I believe using Vim with plugins and settings for your own need is much more scalable and better in long term. I will occasionally push changes when I have time but don't expect any maintenance or future contributions. Thanks everyone for using and supporting this project, feel free t
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く