dmd 1.067 と 2.052 のリリース


投稿ツリー



前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 | 投稿日時 2011/2/20 17:35
SHOO  管理人   投稿数: 658
[http://twitter.com/#!/D_Programming/status/38543202365612032 元記事]

D言語に以前から望まれていた時間操作モジュール [http://www.digitalmars.com/d/2.0/phobos/std_datetime.html std.datetime]が導入されました。あとさりげなく[http://www.digitalmars.com/d/2.0/phobos/core_time.html core.time]も増えていますね。
尽力してくださったJonathanに感謝!

std.datetimeはC++のBoostの時間操作モジュールを参考に作られたもので、超巨大なモジュールとなっています。(3万5千行の1.5MBという、まさにメガモジュールと呼ぶにふさわしいモジュールです。)

&bitly(http://twitter.com/#!/mono_shoo/status/38554667625627648);←私の感想。

私も時間操作モジュールを書いたことがありますが、薮をつついて蛇を出した気分です…

一応、サンプルコードとして使い方を簡単に書きましたので、ご参考にどうぞ。
[[SampleCodes/Phobos/時間操作]]

また、&twitter(repeatedly);さんの書いたstd.random.Xorshiftも含まれています。

さらに、今回は、例外連鎖に対応するため、Objectを例外として投げたり受け取ったりすることが出来なくなるという、'''''破壊的変更'''''が含まれています。((私自身は常にtrunkを使っているので、いつの時点で出来なくなったかはよく覚えていませんが、おそらく今回からです。))
同様に、std.fileの中の関数が幾つか名前が変わっているので、これに関しても要注意です。現在はaliasされていますが、いずれ破壊的変更によって使えなくなるかと思いますので、早めの対応を心がけましょう。

また、今回特筆するべき点として、dmdに、Linuxのみではありますが、64bitサポートが加わった点です。今後、WindowsやMac OSX、FreeBSDなどにも64bit化が来ることが期待されます。
投票数:71 平均点:1.69
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2011/2/20 17:51
SHOO  管理人   投稿数: 658
破壊的変更に対する対応策を書き忘れました。
投げる例外はExceptionを継承した例外((Throwableを継承していれば何でも良いが、お手軽なのはExceptionを継承すること・あるいはExceptionそのもの))を使いましょう。
すべての例外を受け取るやり方は、いままで catch (Object e) と書いていたところを、 catch (Throwable e) としましょう。
投票数:51 平均点:1.76
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2011/2/21 9:38
tama  一人前   投稿数: 111
Xorshiftはbearoのベンチマークでも結果が出てるんですが,基本線形合同法より速いので,俺としてはこっちをオススメしたい所です.MinstdRandが4byteでXorshift(128bit)の場合は16byteになりますが,周期もよくなってるので,12byteくらいはMTに比べては誤差かなぁと.MTがでかくて遅いので,あまりメモリを消費したくない and 速度が欲しい時にはXorshiftが良いかなと.
でまぁこの辺を英語で伝えたいんですが,まだMLに返信出来てないという^^;

std.fileがstd.datetimeに依存するようになったと思うんですが,SysTimeとかはデフォルトで使えるようにして欲しいところ(timeLastModifiedとかで問題が)
投票数:79 平均点:1.90
返信する

このトピックに投稿する

題名
ゲスト名
投稿本文

  条件検索へ


メインメニュー

ログイン

ユーザー名:


パスワード:





パスワード紛失  |新規登録

Menu