タグ

2008年6月9日のブックマーク (5件)

  • fast strlen and memchr by SSE2 (mitsunari@cybozu labs)

    strlen()とmemchr()のSIMD版を作ってみました. 今回は最速よりもお手軽さを重視したのでアセンブリ言語ではなくintrinsic関数を使っています.そのためVisual Studio 2008, gcc 4.xの両方でコンパイルでき32-bit, 64-bit OS上で動作します. WindowsLinuxでのみ確認していますが恐らくIntel Mac OS X上でも動作するでしょう(sample source). ベンチマークはランダムな長さの文字列の平均長(average length)を変化させつつ取りました.数値は1byteあたりにかかった処理時間比で小さいほど速いことを表します. strlenが3種類(ANSI, BLOG, SSE2)とmemchrが2種類(ANSI, SSE2)あります.BLOGというのは今回試してみようというきっかけになったCounting

  • CellプログラミングチュートリアルSIMD編 - PukiWiki

    はじめに † CellのSIMDプログラミングをこれから始めようという初級者対象のチュートリアルです。 複数処理の同時実行を可能にするSIMD演算器を用いたプログラミングを習得することで、より高速なCellプログラムを作成することが出来ます。 チュートリアルでは、CellのSIMDはもちろん、SIMDという言葉を聞いたことがないという方でもレッスン形式のチュートリアルを進めていくことで、 CellのSIMDプログラミングの基礎を身につけていただける内容を目指しています。また、このチュートリアルで身につけた知識は、他のアーキテクチャ上の SIMDプログラミングにおいても応用の効く内容となっております。 ↑

  • ABlog いつからか僕の生活からは潰す暇がなくなった

    僕の個人的な生活サイクルで言うと、たぶん2004年から2005年のどこかの時点で、僕の生活の中から『暇』がなくなりました。 正確には、暇と言うより『何もやる事がない時間』がなくなったと言った方がいいかもしれません。ネットと携帯とiPodのおかげで、どんな小さな『何もやる事がない時間』に対しても、何かしらの適当な暇つぶしをあてがう事ができて、結果的にただぼーっとしてしまう時間がなくなったという事です。 こんなに幸せな時代はない、と思いつつ、面白いと分かっているのにやる時間のないゲーム、観る時間のない映画、読む時間のないが積み上がっていく事はものすごいストレスになります。 消費者ではなく、コンテンツの制作者の目からみても、こんなにたくさんのコンテンツがあっても読者、視聴者は消費しきれないだろうな、と感じる事があります。 まあ、作り手としては、いいものを作ればちゃんと見てもらえる、と信じて作る

    miya2000
    miya2000 2008/06/09
  • PHP/脆弱性リスト/メモ - yohgaki's wiki

    なんだかやけに長い説明ばかり検索に引っかかったので書きました。 Linuxのローカル環境でDockerコンテナ内のXアプリ(GUIアプリ)を利用するには $ xhost localhost + を実行した後に $ docker run --rm --net host -e "DISPLAY" container_image_name x_app_binary_path とすれば良いです。 もっと読む SSHなどよく知られたサービスポートで何も対策せずにいると数えきらないくらいの攻撃リクエストが来ます。不必要なログを増やしてリソースを無駄にし、もし不用意なユーザーやシステムがあると攻撃に成功する場合もあります。 SshguardはC作られており、flex/bisonのパーサールールを足せば拡張できますがカスタム版をメンテナンスするのも面倒です。必要なルールを足してプルリクエストを送ってもマー

    PHP/脆弱性リスト/メモ - yohgaki's wiki
  • MooseX::Daemonizeがセクシーすぎる件について - D-6 [相変わらず根無し]

    MooseX::Daemonizeがセクシーすぎる件について さて、すっかりMoose厨となりつつある私ですが、この度デーモンスクリプトを書くことになりましたのでMooseでこれをするのは何がいいかなと考えていたわけです。したらなんでもありますな、CPANは。MooseX::Daemonizeですよ、奥さん。 考え方としては、スクリプトの書式をコントロールするオブジェクトをまず作ります。 package MyDaemon; use Moose; with 'MooseX::Daemonize'; コマンドラインから受け取るオプション等はこのオブジェクトの属性として指定します。 has 'option1' => ( is => 'rw', isa => 'Str', required => 1 ); has 'option2' => ( is => 'rw', isa => 'Bool',