タグ

binaryに関するyamazのブックマーク (40)

  • TCC で遊んだ話と x86-64 とはまじしん一ろう- TCC で遊んだ話と x86-64 と

    1/64 >> First Last TCC で遊んだ話と x86-64 と はまじしん一ろう

    yamaz
    yamaz 2010/12/17
  • ■ - 兼雑記

    なんもないところに鼻水垂らして死んでしまいました。もうちょい行けた気がするのに。 http://shinh.skr.jp/tmp/38.jpg

    ■ - 兼雑記
    yamaz
    yamaz 2007/02/17
    CでCurry化 関数の実体をそのまま作って、その後書き換えられないようにmprotectしてる.
  • GNU lightning - GNU Project - Free Software Foundation

    Using and porting GNU lightning GNU lightning is a library that generates assembly language code at run-time; it is very fast, making it ideal for Just-In-Time compilers, and it abstracts over the target CPU, as it exposes to the clients a standardized RISC instruction set inspired by the MIPS and SPARC chips. Contribute GNU lightning is usable in complex code generation tasks. The available backe

    yamaz
    yamaz 2007/02/17
  • データ型のアラインメントとは何か,なぜ必要なのか?

    以前このサイトとブログに,何度かアラインメントに関する記事を書きました (サイト内関連ページ参照). そのせいか「アラインメント」で検索して来てくれる人が多いので, 過去の記事に加筆修正してこのページを新たに作成しました. 加筆した点は次のとおりです. アラインメントとメモリアクセス回数の関係をわかりやすくするため, (ほんの少し) 図を導入しました. 「データがアラインされていないとメモリアクセス回数が増える」 と言葉で説明しているサイトは多いのですが, 図で示しているところはまだ見たことありません. アラインされていないアドレスにデータを書き込む場合, 読み出しの場合以上にメモリアクセス回数がかかる可能性があることを追記しました. 以前は「複合データ型 (配列,構造体,共用体) のアラインメント」はほとんど自明のことだと思っていたので軽く流していましたが, 意外なことにこれを解説してい

    yamaz
    yamaz 2007/02/01
  • Xbyak - x86 JIT assembler -

    Xbyak - x86, x64 JIT assembler - .frame(English) .frame(x86の究極の最適化手法?) Xbyak(カイビャック)はx86(IA32), x64(AMD64, x86-64)のマシン語命令を生成するC++のクラスライブラリです. プログラム実行時に動的にアセンブルすることが可能なため, 柔軟な最適化(動的コード生成)が可能となります(利用シーン:量子化の高速化, 式の計算). 暗号ライブラリに使って高速な実装をしてみた(very fast etaT pairing for Core 2 Duo) ヘッダファイルオンリー xbyak.hをインクルードするだけですぐ利用することができます(32bit, 64bit両対応). Windows Xp(32bit, 64bit), Vista/Linux(32bit, 64bit)/Intel

    yamaz
    yamaz 2007/01/25
  • ディスク・デフラグメント完全マスター(1/9) - @IT

    ―― 標準ツールを使うか、フル機能版のDiskeeperを使うか。ハードディスクを最速に保つための知識とテクニック ―― デジタルアドバンテージ 2000/10/21 ひと昔前のPCユーザーにとってハードディスクは、少ない容量をいかにやりくりして使うかという、「狭いながらも楽しいわが家」的な存在でもあった。しかし激しい大容量化競争と高速化競争のおかげで、今やエントリ・モデルのPCでも、10Gbytes超のディスクを当たり前のように搭載するに至っている。これは、数年前のPCサーバを凌ぐほどの容量だ。初心者の多くは、昔のようにディスクの残り容量やディスクのアクセス速度に汲々とすることなく、思う存分好きなアプリケーションをインストールしたり、好きなファイルを保存したりできるようになったに違いない。 さすがに稿の読者はここまで極端でないにせよ、初期のWindows NTにツールが標準添付されなか

    yamaz
    yamaz 2006/12/04
  • Kernel Asynchronous I/O (AIO) Support for Linux

    Overview AIO enables even a single application thread to overlap I/O operations with other processing, by providing an interface for submitting one or more I/O requests in one system call (io_submit()) without waiting for completion, and a separate interface (io_getevents()) to reap completed I/O operations associated with a given completion group. Support for kernel AIO has been included in the 2

    yamaz
    yamaz 2006/11/16
    IOに関する終了通知をイベントベースで行うための機構. FreeBSDだとman aio.
  • 数列辞典

    The page you're looking for has moved, been replaced, or is currently unavailable to view. If you previously bookmarked a page and have now reached this message, check to make sure the link was not shortened, or go to our home page to find the page from there. We've been upgrading this site. If you selected a link on our site and reached this message, use the Back button to return to the previous

    数列辞典
    yamaz
    yamaz 2006/11/16
    SafeでFastなIOライブラリ.今でも有効か調べる.
  • POSIX Asynchronous I/O for Linux

    POSIX Asynchronous I/O for Linux (PAIOL) is an attempt to write a POSIX AIO compliant API based on Linux kernel 2.6 native AIO API. This library can work without patching the kernel. Kernel patches are only needed if you want to use POSIX AIO features not available from user-space or to improve performance. Wed, 21 Feb 2007: Release 0.8.2 A lot of fixes both in the library code and the testcases S

    yamaz
    yamaz 2006/11/14
  • TAKESAKO @ Yet another Cybozu Labs: Binary Hacks と 64bit popCount 問題

    高林さん、オライリーさん、ありがとうございます。 ちなみにetoさん情報によると、明日11/10は「いいバイナリの日」らしいです。 11 → いい 10 → バイナリ Binary Hacks の発売日は 11/11 で、ビットが全部立っている非常に縁起の良い日です。 縁起を担ぐためにも、いいバイナリの日に Binary Hacks を注文して、発売日に書店に行ってを見かけたら 11 冊買いましょう。 x86 パフォーマンスチューニング さて、最後の HACK #100「文献案内」でマイクロプロセッサアーキテクチャマニュアルが紹介されていましたが、 x86のパフォーマンスチューニングつながりということで、 ちょうど今日ラボの社内掲示板で盛り上がった話題をこちらでも共有したいと思います。 * popCount 問題 64bitの数値の中で1になっているビット数を数える popCount64

    yamaz
    yamaz 2006/11/10
    x86でも拡張命令には便利な機能もあるよ
  • 【インフォシーク】Infoseek : 楽天が運営するポータルサイト

    日頃より楽天のサービスをご利用いただきましてありがとうございます。 サービスをご利用いただいておりますところ大変申し訳ございませんが、現在、緊急メンテナンスを行わせていただいております。 お客様には、緊急のメンテナンスにより、ご迷惑をおかけしており、誠に申し訳ございません。 メンテナンスが終了次第、サービスを復旧いたしますので、 今しばらくお待ちいただけますよう、お願い申し上げます。

    yamaz
    yamaz 2006/10/28
    HDD、メモリ、キャッシュについて超詳しいページ。お世話になりました。
  • C言語: UNIX最速ファイルコピー

    Created: Kazuki Ohta, 2006/06/14 Last Update: Kazuki Ohta, 2006/06/14 「write(2)の正しい使い方」と同じく、OS演習でやった事の延長線の記事を書いてみる。お題は「UNIX上で大規模ファイルを最速でコピーする方法」だ。一般的に、UNIXでファイルをcopyする際には以下のような方法が有る。 read -> write read -> write with posix_fadvice mmap -> mmap -> memcpy -> fsync mmap -> mmap -> memcpy -> fsync with madvise mmap -> write mmap -> write with madvise read, write, mmap辺りは良いとして、posix_fadviseというシステムコールが有

    yamaz
    yamaz 2006/10/26
  • インテルのハイパースレッディング技術でサーバ性能の低下が発生か

    Intelのハイパースレッディング技術が、サーバの性能を低下させるとして、一部の技術者から非難されている。ハイパースレッディングは、Intel製プロセッサの性能を向上させるために開発された技術である。 「SQL Server」と「Citrix Terminal Server」をインストールし、Intelのハイパースレッディング技術を有効にしたマザーボードでは、高負荷状態下での性能が著しく低下すると一部の技術専門家が報告している。また、同専門家らは、ハイパースレッディング技術を無効にすることで、サーバの性能を来のレベルに戻せるとも指摘している。 財務会計ソフトを販売する英企業Lakeview Computersでテクニカルディレクターを務めるPeter Ibbotsonは「同一マシン上でCitrix Terminal Serverとわれわれのソフトウェアを稼働させると、そのマシンが予想に比

    インテルのハイパースレッディング技術でサーバ性能の低下が発生か
  • internal22-index - Linux Kernel Documents Wiki - Linux Kernel Documents - OSDN

    トップページへ Linuxカーネルに関する技術情報を集めていくプロジェクトです。現在、Linuxカーネル2.6解読室の第2章までを公開中。 目次まえがき第0章 Linuxカーネルの構成要素 0.1 Linuxカーネルとは 0.2 Linuxカーネルのソースコード 0.3 Linuxカーネル機能の概要 0.4 カーネルプリミティブ 0.5 プロセス管理 0.6 メモリ管理 0.7 ファイルシステム 0.8 ネットワーク 0.9 プロセス間通信 0.10 Linuxカーネルの起動 0.11 Linuxカーネルの動作例 Part 1 カーネルプリミティブ第1章 プロセススケジューリング 1.1 マルチタスク 1.2 プロセスとは? 1.3 プロセス切り替え 1.4 プロセスディスパッチャの実装 1.5 プロセススケジューラ 1.6 プロセススケジューラの実装 1.7 事象の待ち合わせ 1.8 最

    internal22-index - Linux Kernel Documents Wiki - Linux Kernel Documents - OSDN
    yamaz
    yamaz 2006/10/18
  • プログラムはどう動くのか? 〜 ELFの黒魔術をかいまみる

    yamaz
    yamaz 2006/10/10
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
    yamaz
    yamaz 2006/09/11
    CASを用いたアトミッククラスの実装について.ABA問題とか.参考文献が充実してる
  • Lock-freeとWait-freeアルゴリズム - Wikipedia

    Lock-freeとWait-freeアルゴリズムとは、共有データにロックをかけてアクセスを防ぐアルゴリズムとは違い、複数のスレッドが同時並行的に、ある対象データを壊すことなしに読み書きすることを可能にするアルゴリズムである。Lock-free とはスレッドがロックしないことを意味しており、全てのステップにおいてシステムが必ず進行する。これはLock-free ではミューテックスやセマフォといった、排他制御のためのプリミティブを使ってはならないことを意味する。なぜならロックを持っているスレッドの実行が中断した場合、全体の進行を阻止しうるからである。Wait-free とは、他のスレッドの動作に関係なく、スレッドがいかなる操作も有限のステップで操作を完了させられることを指す。あるアルゴリズムがLock-freeであるがWait-freeでないことはありうる。Wait-free なアルゴリズム

    yamaz
    yamaz 2006/09/11
    lock-free/wait-freeに関する定義
  • The WARPing Group

    yamaz
    yamaz 2006/09/11
    wait-freeな処理に関する各種まとめサイト
  • 使いながら覚えるGDB

    はじめに プログラムのデバッグと言えばひたすらprintfを挿入しまくっていたある日、 デバッガなる便利な代物があるということを知った。なんでもプログラムを一行 ずつ実行できて、変数の値をその場で確認できるらしい。これは是非使ってみねばと 思い、UNIX環境で使えるGDBというデバッガを試してみた。が、何がなんだかさっぱり 分からない。Webを検索するとマニュアルの日語訳が見つかった。これで勉強すれば 使えるようになるかも、と読み始めるも、いきなりm4がどうのこうのだの、意味不明 の文章が続く…。 これは私がGDBを使い始めた時の話だが、似たような経験を持っている人が他にもいる と思う。 GDBのマニュアルは初心者にはすこし敷居が高い。 GDBに限らずマニュアルというものは初学者が参考書として用いるのには 適していない。というのも、マニュアルの類は情報量が多い分、重要な部分を 見つけ出す

  • Bit Twiddling Hacks

    By Sean Eron Anderson seander@cs.stanford.edu Individually, the code snippets here are in the public domain (unless otherwise noted) — feel free to use them however you please. The aggregate collection and descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and without even the implied warranty of

    yamaz
    yamaz 2006/08/13
    bit演算集めたサイト