zoukankan      html  css  js  c++  java
  • 两个大数组foreach,找出相同的key数量,所用的时间对比

    <?php
    function microtime_float() {
    	list($usec, $sec) = explode(" ", microtime());
    	return ((float)$usec + (float)$sec);
    }
    
    for($i = 1;$i <= 10000;$i++) {
    	$data_1[$i] = 1;
    }
    for($i = 1001;$i <= 600000;$i++) {
    	$data_2[$i] = 1;
    }
    
    $time_start = microtime_float();
    $num = 0;
    foreach ($data_1 as $key => $value) {
    	if ($data_2[$key]) {
    		$num++;
    	}
    }
    echo $num;
    $time_end = microtime_float();
    $delta_time = $time_end - $time_start;
    echo '程序总用时:'.round($delta_time, 3).'秒。';
    
    $time_start = microtime_float();
    $num = 0;
    foreach ($data_2 as $key => $value) {
    	if ($data_1[$key]) {
    		$num++;
    	}
    }
    echo $num;
    $time_end = microtime_float();
    $delta_time = $time_end - $time_start;
    echo '程序总用时:'.round($delta_time, 3).'秒。';
    ?>


    结果:9000程序总用时:0.003秒。9000程序总用时:0.595秒。

    foreach放小的数组,速度比较快。

  • 相关阅读:
    "Java:comp/env/"讲解与JNDI
    table的td去边框
    jsp获取所有参数
    spring-mvc设置首页
    jdbc数据库连接方式
    文件上传
    SMBMS
    过滤器和监听器
    解决Maven的JDK版本问题
    MVC
  • 原文地址:https://www.cnblogs.com/y0umer/p/3838792.html
Copyright © 2011-2022 走看看