トップ «前の日(03-11) 最新 次の日(03-13)» 追記

3 日坊主日記


2004-03-12

_ 硝煙反応

クラッカーは掃除が大変です。

_ 読子係数

読子リードマン係数=書籍代/総支出 らしい。(読子萌えの係数ではない)

漫画は含まれるのか?

_ 確定申告における書籍代

例えば、執筆のために本を購入したので経費で落としたいとしよう。

確定申告では「執筆した期間」が重要であって「本を購入した日付」は意味をなさない。なので、2003-02..2004-01の書籍代を計算しても無駄なのである!

しかし、「この本はこれこれのために買いました」と購入動機を定めるのは至難の業だ…てゆか無理。


2005-03-12

_ @age+1

休みをクレ!

_ 松山

ok. しかし移動時間は無駄だよね...

_ [Delphi] Delphi 2005 Update 2

[Delphi:85064]

DelWiki 経由、本家 Newsgroup からのニュースです。

英語版 Delphi2005 の Update2 が公開されました。 http://info.borland.com/04/delphi2005/readme_upd2.html

今のところ英語版のみです。

_ [Rails] 日本語 Wiki

[rails:79]

http://docs.jpror.info/

Stoyan Zhekov さんが Hieraki を立ち上げてくださいました。

TODO: convert all documentation to japanese

とりあえず signup.

http://wiki.fdiary.net/rails/

こっちはどうしよう。どちらにしても集約すべきですよね...


2007-03-12

_ [Ruby] ruby-1.9 profiler

profiler ほしい!

_ register calling convention

Delphi の register calling convention を Ruby/DL で扱いたいという話なのだけど難しいよね。

_ [Rails] benchmark: activesupport が怪しい

先日の benchmark

# sqlite3-ruby select (n=1000)
ruby-1.8.6: 2142 req/sec
ruby-1.8.6: 2153 req/sec
ruby-1.9.0: 2313 req/sec
ruby-1.9.0: 2328 req/sec
# activerecord -> sqlite3-ruby select (n=1000)
ruby-1.8.6: 1098 req/sec
ruby-1.8.6: 1103 req/sec
ruby-1.9.0:  801 req/sec
ruby-1.9.0:  806 req/sec

と興味深い結果を得たのだけど、どうも activesupport が怪しい。

# sqlite3-ruby select (n=1000) with require 'active_record'
ruby-1.8.6: 1936 req/sec
ruby-1.8.6: 1931 req/sec
ruby-1.9.0: 1550 req/sec
ruby-1.9.0: 1565 req/sec

require するだけでこのありさま。

vendor/builder/blankslate.rb で Kernel.method_added Object.method_added を書き換えてるのが効いてるのかも。

少なくとも特化命令は有効。

module Builder
  BlankSlate = ::BasicObject

にしてみたけど、変わらないなあ。なんだろう。

計測の結果、次のライブラリを require すると速度低下が顕著。

  • builder
  • core_ext
  • dependencies
  • reloadable
  • deprecation
  • multibyte

ってほとんど全部なんだけど。

でも benchmark に影響するのはなんでかなあ。 Benchmark.measure 自体が影響を受けているのだろうか。

# benchmarks/bm3.rb:
require 'benchmark'

RUNS = 1000

require 'sqlite3'

$:.unshift(File.dirname(__FILE__) + '/../lib')
require 'active_record'

$VERBOSE = nil

File.delete "test3.db" rescue nil
db3 = SQLite3::Database.open( "test3.db" )
db3.execute "create table foo (a,b)"
db3.execute "insert into foo values (1,2)"
db3.execute "insert into foo values (3,4)"
db3.execute "insert into foo values (5,6)"

puts
puts "queries"

runtime = Benchmark.measure do |x|
  RUNS.times do
    db3.execute "select * from foo"
  end
end

puts "Rehearsal"
puts "Runs: #{RUNS}"
puts "Avg. runtime: #{runtime.real / RUNS}"
puts "Requests/second: #{RUNS / runtime.real}"

runtime = Benchmark.measure do |x|
  RUNS.times do
    db3.execute "select * from foo"
  end
end

puts "Runs: #{RUNS}"
puts "Avg. runtime: #{runtime.real / RUNS}"
puts "Requests/second: #{RUNS / runtime.real}"

db3.close

_ 青画面

 IRQL_NOT_LESS_OR_EQUAL

 STOP: 0x0000000A (0XCDCDCD,0x00000002,0x00000001,0x804DDC9A)

これに引っかかったのかなあ。

_ sqlite3-ruby benchmark

sqlite3-ruby-bench-1.jpg

bm3: sqlite3-ruby のみ
bm3as: require 'active_record' あり

2008-03-12

_ [Rails][RSpec] rspec autotestがいつもgreenな件

rails (2.0.2)
rspec (1.1.3)
ZenTest (3.9.1)

Windows環境では spec/spec.opts から

--colour

を外す必要がある。

外さないと

shell> ruby spec\models\weather_spec.rb > out.txt

としたときに out.txt に出力が含まれない。 autotestは同じようにredirectするので、これにひっかかる。

色を付けるために使っている

win32console (1.0.8)

出力をredirectするとこいつがSTDOUTを食ってしまうというバグがあるためらしい。

色付けを外してもまだだめ。

rspec/lib/autotest/rspec.rb:
  consolidate_failures()

がおかしい。

rspec r3312 以降だと直ってるらしい。

てことでtrunkを試してみることにしよう。。

追記:確かに直っていた。