タグ

2012年12月6日のブックマーク (5件)

  • 数独の高速化 - Cybozu Inside Out | サイボウズエンジニアのブログ

    「サイボウズ・アドベントカレンダー」の4日目です(これまでの記事一覧)。どうやら三日坊主は免れたようです(笑)。 (0) はじめに こんにちは。サイボウズ・ラボの川合秀実です。私は主にサイボウズ製品の高速化のお手伝いをしています。しかし先日、製品とは関係ないものを高速化したので、今日はそれを発表します。 サイボウズには社内勉強会がいくつかあって、その中にはC++の勉強会もあります。私はサイボウズの勉強会に参加するのが好きなので、このC++の勉強会に参加してみました。この勉強会では、「数独」というパズルを解くプログラムをC++で書いてみよう、というのが最初のテーマでした。参加者各自がプログラムを書き、翌週にお互いにレビューしあうということが行われました。 ここで私はやらかしてしまいました。ええ、そうです、高速化してしまったのです! 言うまでもないですが、誰もこんなことは望んでいません。そもそ

    数独の高速化 - Cybozu Inside Out | サイボウズエンジニアのブログ
  • JSC Array optimization for adding new property - 枕を欹てて聴く

    This is a blog post for 12/6 VM advent calendar. See http://qiita.com/advent-calendar/2012/vm for more nice blog posts :) Introduction ECMA262にとってArrayは最も重要なObjectの1つであり, loop内で高い頻度でアクセスされる性質上, Arrayの最適化はengineの実行速度に多大な影響を及ぼします. ここではJavaScriptCoreの行なっているArrayに対して新しいpropertyを追加する処理の最適化を紹介します. Background ECMA262において, Arrayはliteral形式ならばown propertyを最初から定義できますが, var array = [0, 1, 2, 3, 4]; console.lo

    JSC Array optimization for adding new property - 枕を欹てて聴く
  • pico.js - Simple interface for a real-time audio processing

    関数 process(L, R) の定義されたオブジェクトを用意 L と R の型は Float32Array です pico.play(gen); で処理開始 gen.process(L, R) が呼ばれるので L と R に信号を書き込みます pico.pause(); で処理停止 静寂に戻るまでが音楽です ex.01 Pause Play // ホワイトノイズを出力する var noise = { process: function(L, R) { for (var i = 0; i < L.length; i++) { L[i] = R[i] = Math.random() * 0.25; } } }; pico.play(noise); その他の便利な機能 サンプリングレートの変更 pico.setup({samplerate:24000}) サンプリングレートは 8000

  • あなたの知らないハッシュテーブルの世界

    Please select the category that most closely reflects your concern about the presentation, so that we can review it and determine whether it violates our Terms of Use or isn't appropriate for all viewers.

  • #5「GitDDLまじイノベーティブ」 tech.kayac.com Advent Calendar 2012 - KAYAC Engineers' Blog

    好きな IPA は志賀高原ビールの @soh335 です。 早くビール飲みたいのですが書かないと怒られるので今日は、隣の発明家が作った GitDDL というモジュールについて説明しますね。 (隣の発明家に任せると「GitDDLまじイノベーティブ(完)」としか説明してくれないので) なにするものなの 名前を見て通り、Gitdatabase の schema 管理をするものです。それ以前は、DBIx::Class::Schema::Versioned とかを使っていたようです。 仕組み まず、Git で管理されている schema ファイルを指し示すコミットのハッシュを database 上で管理します。 schema に変更があった場合、このコミットのハッシュが databse 上のものとで差異が生まれます。よって database 上の schema は期待する schema ではな

    #5「GitDDLまじイノベーティブ」 tech.kayac.com Advent Calendar 2012 - KAYAC Engineers' Blog