5
Scala 2.10では、ボックスにはsomeDouble.isNaN
が必要ですか?私のコードを実行して.isNaN
をデコンパイラで呼び出すと、私はまだコード内でdouble2Double
へのtelltaleコールを参照しています。新しいAnyVal
が2.10で動作するとすれば、ランタイムにjava.lang.Double.isNaN(someDouble)
より悪いことはありません。何か不足していますか?Scala 2.10、Double.isNaN、boxing
なぜこれはダブル以上のボクシングより速いのでしょうか? – gzm0
@ gzm0 - これは値クラス(これは 'AnyVal'部分です)に"囲み "ます。これは、オブジェクトまたはジェネリックとして渡すか、または配列に入れる必要がないかぎり、実際には作成されません。あなたがここにいるのと同じように(もしあなたがここにいるように)使うのであれば、実際のオブジェクトが存在することは実際には何もないので、Scalaは単にメソッド呼び出しであるバイトコードを発行します。 –
あなたの 'RicherDouble'に暗黙的に高い優先順位を付けることはできませんでした。同じ' isNaN'名を付けましたか?そうでない場合は、同じ優先順位の何かがあいまいで失敗して、タイトなループでその方法を使用しないように思い出させてください。 –