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
今のところ英語版のみです。
2007-03-12
_ register calling convention
Delphi の register calling convention を Ruby/DL で扱いたいという話なのだけど難しいよね。
_ [Rails] benchmark: activesupport が怪しい
# 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)
これに引っかかったのかなあ。
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を試してみることにしよう。。
追記:確かに直っていた。
