案外小さいClasses.pasの負荷と複素数
ECOだのTogetherだのは人に任せて、私はあくまで古臭く行こう…。
...\del10rtl>dir ドライブ D のボリューム ラベルは 秘密 です ボリューム シリアル番号は HOGE-FUGA です ...\del10rtl のディレクトリ 2006-01-14 19:04. 2006-01-14 19:04 .. 2006-01-14 19:04 28 xclasses.dpr 2006-01-14 19:04 76,800 xclasses.exe 2006-01-14 19:06 11 xsystem.dpr 2006-01-14 19:06 17,408 xsystem.exe 2006-01-14 19:05 43,008 xsysutils.exe 2006-01-14 19:05 27 xsysutils.dpr 2006-01-14 19:07 23 xmath.dpr 2006-01-14 19:07 43,008 xmath.exe 2006-01-14 19:08 27 xvariants.dpr 2006-01-14 19:09 69,632 xvariants.exe 2006-01-14 19:11 24 xforms.dpr 2006-01-14 19:11 384,512 xforms.exe 12 個のファイル 634,508 バイト 2 個のディレクトリ 4,375,183,360 バイトの空き領域
単にそれぞれをusesしただけです。
こうして見る限り、(私が今までやってきたような)頑にClassesに依存しない、というのは、あまり利点無いですね。
あと意外なのがComObjで、こいつはClassesに依存してません。
逆に必要ないだろと思うVarCmplxは依存してます。ストリーミングに対応してるからです。
まあそれはそれとして、複素数といえば、演算子オーバーロードが追加されたんですからデモがてらに、Variantじゃない複素数も付けといてくれても…と思ったら案の定?$(BDS)\Demos\DelphiWin32\VCLWin32\ComplexNumbers\Vassbotn.Vcl.Complex.pasに存在してました。
Demonstrates the use of Win32 record operator overloading
なんて書いてますが、Variantによる余計な実行時ディスパッチも無く、型チェックもしてくれますので、絶対こっちのほうがいいです。
あ、Doubleベースなのが不満だ。DoubleをExtendedに置換、と。