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.");
     }   
    }
    

      

  • 相关阅读:
    python 列表、元组、字典总结
    python 字典
    python 元组
    python 列表
    JMeter的作用域与执行顺序
    JMeter第一个实战
    JMeter录制的两种方法
    JMeter常用功能
    初识jmeter2
    handler的拒绝策略:
  • 原文地址:https://www.cnblogs.com/hephec/p/4877140.html
Copyright © 2011-2022 走看看