1

これでスクリプトファイルを使用し、ターミナルから「ruby file.rb」を実行すると、Javaクラスの実行時間を測定する必要があり、常に完璧に動作し、常に約10秒の値を取得します。

ini = Time.now
`java file.class`
fin = Time.now
puts "#{fin-ini}"

しかし、レールアプリケーションのコントローラーでまったく同じことをすると、常に 5.626041666666666e-10 のような値が得られます

何が起こっているか誰でも知っている

4

1 に答える 1

2

ほとんどの電卓と多くのコンピュータ プログラムは、科学表記法で非常に大きな結果と非常に小さな結果を提示します。107 のような上付きの指数は常に便利に表示できるとは限らないため、文字 E または e は、10 の累乗 ("x 10b" と書かれる) を表すためによく使用され、その後に指数の値が続きます。

出典: http://en.wikipedia.org/wiki/Scientific_notation#E_notation

iniが初期化されてからが開始されるまでの時間は非常に短くfin、この 2 つの違いが見られます。

それが実際に意味するのは、5.626041666666666×10^(-10) または 0.0000000005626041666666666 秒またはミリ秒、または測定単位が何であれです。

#{(fin - ini).to_i}これを丸めることに関心がある場合は、整数 0 に変換することをいつでも行うことができます。

于 2012-10-22T23:57:18.337 に答える