タグ

ブックマーク / blog.cybozu.io (6)

  • お手軽に使える高速なSSE4.2専用文字検索ライブラリ - Cybozu Inside Out | サイボウズエンジニアのブログ

    サイボウズ・ラボの光成です。 今回はC/C++用文字検索ライブラリmie_stringを紹介します。 mie_stringはテキストの中から複数文字のいずれかが存在する場所を高速に検索する関数を提供します。 文ではその使い方と性能を紹介します。また後半ではSIMD命令を使うときに悩ましい端数処理について詳解します。 準備 mie_stringではCのintrinsic関数(SSE4.2)を使ったものとアセンブリ言語で書いたものの二つを用意しました。 intrinsic関数を使う場合はMIE_STRING_INLINEを定義してからmie_string.hをincludeしてください。 これ以外のファイルは不要です。C/C++のどちらからも使えます。 includeするだけでつかえるので簡単ですね。 なお、コンパイルオプションにはgcc/clangなら-msse42や-mavx、Visua

    お手軽に使える高速なSSE4.2専用文字検索ライブラリ - Cybozu Inside Out | サイボウズエンジニアのブログ
  • バグゼロを実現した話とその後の顛末 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、アプリケーション基盤チームの青木(@a_o_k_i_n_g)です。好きなメソッドは emptyIfNull です。 僕は、自社クラウドである cybozu.com のミドルウェアを開発するチームで働いています。具体的には、検索サービスやファイルサーバー、非同期処理用ワーカー、セッションマネージャーなどなどを提供しています。 僕がこのチームに来たのは数年前ですが、当時はバグの多いプロダクトでした。今はすべての既知のバグを直し、残存不具合件数が 0 件、つまりバグゼロな状態になりました。また、バグゼロを実現してから 2 年ほど経過していますが今もその品質を保っています。今回はこのバグゼロを実現した方法と、その後の顛末について記そうと思います。 以前のコード 数年前に提供されていたこのミドルウェア群は、はっきり言って、バグの塊のようなプロダクトでした。 当時のコードは保守性とは程遠い

    バグゼロを実現した話とその後の顛末 - Cybozu Inside Out | サイボウズエンジニアのブログ
    karupanerura
    karupanerura 2016/05/23
    2-3ヶ月の間、テストだけにコミットする。という判断ができたのがすごい。逆に、それだけ負債が凄まじくてかつ利益もある程度安定して上がっているプロダクトだったのかな。
  • 暗号の世界最速実装を目指す ── 光成滋生 | Cybozu Inside Out

    サイボウズに在籍する技術者を紹介するインタビューシリーズ。 光成滋生(Shigeo Mitsunari) 2007年7月、サイボウズ・ラボ株式会社に入社。 「キーの数が多い」という理由で日語配列キーボードを愛用。「:」キーにバックスペースを割り当て、「変換」や「無変換」キーをAltやCtrlのような(他のキーと組み合わせて押すことで機能する)Modifierキーとして活用するなど、徹底的にカスタマイズしている。 プログラマには、1つのプロジェクトだけに長く携わり続ける人もいるが、異なる複数の技術やソフトウェアを世に問い、マルチな才能を遺憾なく発揮する人も少なくない。たとえばPerlのオリジナル作者として著名なLarry Wallは、今では「パッチを当てる」という普通の表現にもなっているpatchコマンドを作ったことでも知られている。また、Linuxカーネルを最初に作り始めたLinus T

    暗号の世界最速実装を目指す ── 光成滋生 | Cybozu Inside Out
    karupanerura
    karupanerura 2014/12/04
    かっこいい
  • x86/x64最適化勉強会6 レポート - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちはサイボウズ・ラボの光成です。 今回は8月31日に開催された「x86/x64最適化勉強会6」の模様についてお伝えします。 今回の勉強会では、6月に発売された Haswell の新しい機能にかかわるものが3件、C++ によるゲーム開発の環境にかかわるもの、ARMと x86 の比較、Xeon Phi についてがそれぞれ1件ずつの発表でした。 以下、それぞれの発表内容について簡単に解説します。 Haswell 関係 私は「Haswellサーベイと有限体クラスの紹介」(動画1)を発表しました。前半は Haswell の復習として、パイプラインの改良点と、256bit 長に対応した整数演算命令 AVX2、積和演算を1命令で行う FMA、いくつかのビット演算命令や暗号用途の整数演算命令などについてサンプルコードを示しつつ紹介しました。gcc 4.8 などの新しいコンパイラでは、ソースコードを変

    x86/x64最適化勉強会6 レポート - Cybozu Inside Out | サイボウズエンジニアのブログ
    karupanerura
    karupanerura 2013/09/04
    あとでよむ
  • yrmcds 0.9.0 リリース - Cybozu Inside Out | サイボウズエンジニアのブログ

    @ymmt2005 こと山泰宇です。 今回は memcached 互換で冗長構成を簡単に組める自社製 KVS である yrmcds のリリースをご案内します。 ... この Redis 全盛なご時世になんで?とか、repcached や Kyoto Tycoon があるじゃない、といったツッコミの嵐が聞えてきそうです。わかってます、わかってますから物を投げないで! 順を追って説明しますので、批判はそれからにしてください! 何が欲しいのか 私は日頃 cybozu.com のインフラで動作するソフトウェアを開発しています。リリース後もうすぐ2年になりますが、お蔭様で 4,000 社以上にご利用いただくまでになりました。商売繁盛で嬉しいのですが、運用側は日々増えるデータとアクセスを捌くべく奮闘しています。 ここのところ問題になっていたのが、MySQL に保存しているセッション情報でした。アプリ

    yrmcds 0.9.0 リリース - Cybozu Inside Out | サイボウズエンジニアのブログ
  • jQueryの未来に備える - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、kintoneを作っているエンジニアの佐藤鉄平(@teppeis)です。先日10/24に発売されたWEB+DB PRESS Vol.71のJavaScript連載で「プログラマのためのjQuery再入門」という記事を書かせて頂きました。 ワンランク上のjQuery使いを目指す方のために、こんな内容になっています。 パフォーマンスアップの秘訣 Sizzleの仕組みとセレクタの高速化 on/offによる新しいイベント制御API Deferredを使った非同期処理 最新版の1.8.2をもとに書いたので、1.4あたりでjQueryに入門した方の知識のブラッシュアップにもオススメです。是非ご覧ください。 これでもう「jQueryは甘え」なんて言わせません! jQuery 1.9で削除されるかもしれないAPIたち さて、jQueryの次期バージョン1.9が来年前半に計画されています。 1.

    jQueryの未来に備える - Cybozu Inside Out | サイボウズエンジニアのブログ
  • 1