タグ

algorithmとperformanceに関するWatsonのブックマーク (6)

  • モジュロ演算の替わりとなる高速処理 | POSTD

    N 個の要素セットの中からランダムに整数を1つ取り出すと仮定します。使っているコンピュータに32ビット整数の乱数を生成する機能がある場合、その数をどのように N より小さいインデックスに変換すればいいのでしょうか。例えば、サイズが N のハッシュテーブルがあると仮定します。このような場合でも、ハッシュ値(通常32ビットや64ビットの整数)を N より小さいインデックスに変換する必要があります。このような場合、大抵プログラマは解決の際、 N が2のべき乗であるようにしますが、これは必ずしも理想的とは言えません。 任意の整数 N をできるだけ公平にマッピングしたいとします。2 ³² 個存在する32ビットの整数全てから始める場合、{0, 1 ,…, N – 1}の値域に定められた値に、ちょうど2 ³² / N 個の値をマッピングできるようにするのが理想的です。 残念ながら、2 ³² は N によ

    モジュロ演算の替わりとなる高速処理 | POSTD
  • Redirecting…

    Redirecting… Click here if you are not redirected.

  • Atomの重要なプリミティブの最適化 | POSTD

    これまで数カ月にわたり、私たちはAtomのパフォーマンスの改善に取り組んできました。その結果、最適化するための課題として特に興味深いのが マーカ という構造体だと分かりました。マーカはバッファの内容が変更されても、バッファの論理的な領域を追跡することができます。例えば、以下の図で緑色のハイライトがかかった部分のマーカは、文字列を書き換えたとしても同じ領域に残り続けます。 マーカは、Atomの機能を幅広くサポートする基的なプリミティブです。検索および置換を行う場合には、マーカを使うことで 検索結果のハイライト表示 ができます。スニペットの場合も、文字列を書き換える際にマーカを使い、 タブストップで移動する位置 を追跡することができます。さらにはスペルチェックの場合でも、マーカを使って スペルミスのある単語を抽出 したり、その単語を書き換える際の再チェックをしたりすることもできます。そもそも

    Atomの重要なプリミティブの最適化 | POSTD
  • 研究動向から考えるx86/x64最適化手法

    【DL輪読会】Hyena Hierarchy: Towards Larger Convolutional Language Models

    研究動向から考えるx86/x64最適化手法
  • 【レビュー】高性能ソフトウェアの開発方法、仮想メモリを活用 | エンタープライズ | マイコミジャーナル

    Queue is the ACM's magazine for practicing software engineers. 高いパフォーマンスを発揮するプログラミングに関する興味深い実験結果と考察をまとめたPoul-Henning Kamp氏の記事がACM QueueにおいてYou're Doing It Wrongというタイトルのもの掲載されている。同氏は超高速リバースキャッシュプロクシVarnishの開発者であるとともに、FreeBSD主要開発者のひとり。これまでの開発経験から現在のOSやH/Wの特性を活用したプログラミングについて言及している。 VarnishはFacebookをはじめWikia、Slashdot、Opera、VGなどさまざまなサイトで超高速リバースキャッシュプロクシとして採用されている。従来のリバースキャッシュプロクシと比較して徹底した高速化とOSの性能をフルに発

  • インテルTBBによる選択ソートの高速化(1/3):CodeZine

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    インテルTBBによる選択ソートの高速化(1/3):CodeZine
  • 1