zoukankan      html  css  js  c++  java
  • Java Cookbook-Date and Times

    6.12 Measuring Elapsed Time

      --Problem

        You need to time how long long it takes to do something

      --Solution

        Call System.currentTimeMillis() twice,or System.nanoTime(),and subtract the first

        ressult from the second result

      --Discussion

        The System class contains two static methods for times.currentTimeMillis() return the current time (since 1970) in milliseconds,and nanoTime()

      (new in 1.5) returns the relative time in nanoseconds.To time some event use this:

     

     long start=System.currentTimeMillis();
      method_to_be_timed();
    
      long end=System.currentTimeMillis();
    
      long elapsed=end-start;//time in milliseconds
    
      or:
    
      long start=System.nanoTime();
    
      method_to_be_timed();
    
      long end=System.nanoTime();
    
      long elapsed=end-start;//time in nanoseconds
    

      Here is a short example to measure how long it takes a user to press return.

    We divide the time in milliseconds by 1000 to get seconds

    and print it nicely using a NumberFormat

      long t0,t1;
    
      System.out.println("Press return when ready");
      
      t1=System.currentTimeMillis();
    
      int b;
    
    do{
    
      b=System.in.read();
    
    }while(b!='
    '&&b!='
    ');
    
      t1=System.currrentTimeMillis();
    
      double deltaT=t1-t0;
    
      System.out.println(DecimalFormat.getInstance().format(deltaT/1000.)+"seconds.");
    

     

     import java.io.*;
    
     import java.text.*;
    
    
    
      /**
    
       * Timer for processing sqrt and I/O operations
    
       */
    
      public class TimerCompution{
    
        public static void man(String[] args){
    
          try{
    
            new Timer().run();
        }catch(IOException e){System.err.println(e);}
      } 
    
      public void run()throws IOException{
    
        DataInputStream n=new DataOutputStream(
    
          new BufferedOutputStream(new FileOutputStream(SysDep.getDevNull()));
          long t0,t1;
          System.out.println("Java Starts at "+(t0=System.currentTimeMillis()));
    
          double k;
          for(int i=0;i<100000;i++){
    
            k=2.1*Math.sqrt((dobule)i);
            n.writeDouble(k);
          }
    
         System.out.println("Java Ends at "+(t1=System.currentTimeMillis()));
         double deltaT=t1-t0;
         System.out.println("This run took "+
           DecimalFormat.getInstance().format(deltaT/1000.)+" seconds.");
     }   
    }
    

      

  • 相关阅读:
    PP: Think globally, act locally: A deep neural network approach to high-dimensional time series forecasting
    PP: Learning representations for time series clustering
    PP: Neural tensor factorization
    PP: Shallow RNNs: a method for accurate time-series classification on tiny devices
    PP: Triple-shapelet networks for time series classification
    How to do high impact research + 实事求是
    PP: A dual-stage attention-based recurrent neural network for time series prediction
    PP: Sequence to sequence learning with neural networks
    PP: Imaging time-series to improve classification and imputation
    (三十五)随便记录
  • 原文地址:https://www.cnblogs.com/hephec/p/4877140.html
Copyright © 2011-2022 走看看