测试php代码块执行时间的类

 1 <?php
 2 header("Content-Type: text/html; charset=UTF-8");
 3 class timer {
 4     var $StartTime = 0;
 5     var $StopTime = 0;
 6     var $TimeSpent = 0;
 7
 8     function start() {
 9         $this -> StartTime = microtime();
10     }
11
12     function stop() {
13         $this -> StopTime = microtime();
14     }
15
16     function spent() {
17         if ($this -> TimeSpent) {
18             return $this -> TimeSpent;
19         } else {
20             $StartMicro = substr($this -> StartTime, 0, 10);
21             $StartSecond = substr($this -> StartTime, 11, 10);
22             $StopMicro = substr($this -> StopTime, 0, 10);
23             $StopSecond = substr($this -> StopTime, 11, 10);
24             $start = floatval($StartMicro) + $StartSecond;
25             $stop = floatval($StopMicro) + $StopSecond;
26             $this -> TimeSpent = $stop - $start;
27             return round($this -> TimeSpent, 8) . ‘秒‘;
28         }
29     } // end function spent();
30
31 }//end class timer;
32
33 $timer = new timer();
34 $timer -> start();
35 // start ----- 测试代码块
36 $link = mysqli_connect(‘localhost‘, ‘root‘, ‘123456‘, ‘sdk‘, ‘3306‘) or die(‘connect false!‘);
37 $redis = new Redis();
38 $redis -> connect(‘127.0.0.1‘, 6379);
39 $redis -> FLUSHALL();
40 $query = <<<ETO
41 SELECT * FROM `table` AS t1
42 JOIN (SELECT ROUND(RAND() * ((SELECT MAX(id) FROM `table`)-(SELECT MIN(id) FROM `table`))+(SELECT MIN(id) FROM `table`)) AS id) AS t2
43 WHERE t1.id >= t2.id ORDER BY t1.id LIMIT 1;
44 ETO;
45 $result = mysqli_query($link, $query);
46 foreach ($result as $value) {
47     foreach ($value as $key => $val) {
48         $res[$key] = $val;
49     }
50 }
51 $redis -> mset($res);
52 $keys = $redis -> keys(‘*‘);
53 var_dump($keys);
54 echo ‘<br />-- above are redis keys --<br />‘;
55 var_dump($redis -> mget($keys));
56 echo ‘<br />-- above are redis keys of values --<br />‘;
57 // end ----- 测试代码块
58 mysqli_close($link);
59 $timer -> stop();
60 echo ‘</br>运行时间为: ‘ . $timer -> spent();
61 unset($timer);
时间: 2024-11-07 15:57:53

测试php代码块执行时间的类的相关文章

java静态成员变量,静态代码块执行测试

Java  类对象 静态成员变量,静态代码块加载执行顺序. package com.yjm.pro; import java.io.IOException; import java.util.Properties; public class Pro {  public static String url;  public static String username;  public static String password;  public static String classforna

Java误区: 静态代码块,当把类将被载入到自己主动运行?

JAVA静态代码块会在类被载入时自己主动运行? 非常多Java开发人员的思想,被这个思想深深的轮奸了n遍,传播这个错误思想的博客,在网上一堆,越来越多的人被轮奸. 如:http://blog.csdn.net/leeyu35/article/details/7755304 那么我们程序来证明这句话是错误的: class MyClass1 { static {//静态块 System.out.println("static block "); } } public class Main

Java类的装载过程和静态代码块

在Java中,类装载器把一个类装入Java虚拟机中,要经过三个步骤来完成:装载.连接和初始化,其中连接又可以分成校验.准备和解析三步,除了解析外,其它步骤是严格按照顺序完成的,各个步骤的主要工作如下:1.装载2.连接3.初始化 一.装载阶段 装载阶段由三个基本动作组成1.通过类型的完全限定名,产生一个代表该类型的二进制数据流2.解析这个二进制数据流为方法区内的内部数据结3.构创建一个表示该类型的java.lang.Class类的实例 另外如果一个类装载器在预先装载的时遇到缺失或错误的class文

Java误区: 静态代码块,会在类被加载时自动执行?

JAVA静态代码块会在类被加载时自动执行? 很多Java开发者的思想,被这个思想深深的轮奸了n遍,传播这个错误思想的博客,在网上一堆,越来越多的人被轮奸. 如:http://blog.csdn.net/leeyu35/article/details/7755304 那么我们程序来证明这句话是错误的: class MyClass1 { static {//静态块 System.out.println("static block "); } } public class Main { Cl

JavaSE8基础 父子类中都有静态代码块与构造代码块,执行顺序的简单示例

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        代码: //父类 class Father { //静态代码块 static { System.out.println("父类的静态代码块"); } //构造代码块 { System.out.println("父类的构造代码块"); } public Father() { System.

java中静态代码块(static{...}),局部代码块(方法中{...}),构造代码块(类中{...})区别。

1.局部代码块: 格式:在方法中{局部代码块执行语句} 局部代码块,又叫普通代码块.它是作用在方法中的代码块. 作用:是控制变量的生命周期. 在程序中当我们定义完成一个局部变量x之后,并且在接下来的代码中,不想再用到它时,那么就没必要让x在内存中继续占用空间.因此就有了局部代码块. 2.构造代码块: 格式:在类中{构造代码块执行语句} 作用:就是给所有对象进行初始化. 注意几点: 1)每次创建对象他都会执行. 2)构造代码快是优于构造函数执行. 3)构造代码块与构造函数的区别是:构造代码块是给所

静态代码块、构造代码块、构造函数以及Java类初始化顺序

静态代码块:用staitc声明,jvm加载类时执行,仅执行一次构造代码块:类中直接用{}定义,每一次创建对象时执行.执行顺序优先级:静态块,main(),构造块,构造方法. 构造函数 public HelloA(){//构造函数 } 关于构造函数,以下几点要注意:1.对象一建立,就会调用与之相应的构造函数,也就是说,不建立对象,构造函数时不会运行的.2.构造函数的作用是用于给对象进行初始化.3.一个对象建立,构造函数只运行一次,而一般方法可以被该对象调用多次. 构造代码块 {//构造代码块 }

静态、构造、局部代码块 构造方法

总结 一.静态代码块(最大优先级) 静态代码块随着[类]的加载而执行,且只执行一次(至于类什么时候加载,这是一个高深的问题) 静态代码块的作用:给[类],而非对象,进行初始化 在Java工程的入口类中,静态代码块优先于 public static void main(String[] args)  函数执行 二.构造代码块与构造函数: 构造代码块是和构造函数同级的用 { } 包起来的一个代码块 构造函数每执行一次(即new一个对象),构造代码块就运行一次 构造代码块总是优先于构造函数而执行,有多

java代码块的理解

最近在复习java基础,在看到java代码块的时候,忽然发现自己貌似对于java代码块一无所知,于是赶紧对着一些资料实战演练了一把. 对于java代码块,不难根据名称看出其实就是一些java语句的集合,以{}的形式出现,共有4中形式: 1.类的方法体 这是我们最常见的一种java代码块,形式如下: 1 public class Boke { 2 public void say(){ 3 System.out.println("我就是代码块的内容啦"); 4 } 5 } say的方法体{