PHP程序写得越多发现响应速度越慢,请问写程序中应该注意些啥?我是新手!怎么提高程序响应时间!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP程序写得越多发现响应速度越慢,请问写程序中应该注意些啥?我是新手!怎么提高程序响应时间!相关的知识,希望对你有一定的参考价值。

如题

举个简单的例子

循环一个数组时需要计算数组的长度.

通常,我们这么写

//$arr是一个数组;
for($i=0;$i<count($arr);$i++)
/******这就是一个速度较慢的循环,因为每一次循环的时候都要运行count()计算数组长度*******/

//正确的写法应该是
$count=count($arr);
for($i=0;$i<$count;$i++)
/*****代码*******/

//再举个例子
echo \'1\'.\'2\';慢;
echo \'1\',\'2\';快;
//还有带引号\'\'和双引号"",单引号更快;
//数组的键位例如$arr[key]的写法就不如$arr[\'key\']的快
/*同样的,php在链接数据库或者操作一些文件的时候;要做垃圾处理,在资源使用完毕时,要及时的关闭链接通道,清空结果集和占内存的变量;*/
/*还有很重要的一点,能在php程序里执行的任务,就不要跑到mysql里执行,好好的写你的查询语句*/

参考技术A 避免过多的循环,和多次mysql查询,可以使用文件缓存把数据缓存起来。

初学go语言,请教生成随机数为何线程越多速度越慢?

初学go,想生成大量随机数,是否重复先忽略,参考网上教程修改出如下代码:
package main

import (
"flag"
"fmt"
"math/rand"
"runtime"
"strconv"
"time"
)

var md = flag.String("cs", "", "cs=要使用几个核心,默认使用全部核心")

func main()
mc := runtime.NumCPU()

flag.Parse()
if *md != ""
mc1, err := strconv.Atoi(*md)
if err == nil
if mc != 0
mc = mc1
else
fmt.Println("使用核心数不能为 0 !")



runtime.GOMAXPROCS(mc)

const COUNT int = 15000000

r := make([]int, COUNT)
ch := make(chan int)

t1 := time.Now()
for i := 0; i < mc; i++
println(i*COUNT/mc, (i+1)*COUNT/mc)
go sj(i*COUNT/mc, (i+1)*COUNT/mc, r, ch)


temp := 0
for i := 0; i < mc; i++
temp += <-ch


t2 := time.Since(t1)
println(temp)
fmt.Println(mc, "个线程用时:", t2)


func sj(from, to int, r []int, ch chan int)
for i := from; i < to; i++
r[i] = rand.Intn(100)

ch <- to - from

原教程是多线程求和,我只是把求和改成了r[i] = rand.Intn(100)。
原求和程序随着设置核心数增加,用时基本是/n,而我这个生成随机数恰好相反,用的核心越多,耗时越多,基本是*n比如:
1 个线程用时: 420.7673ms
2 个线程用时: 776.2297ms
4 个线程用时: 1.4236043s
请问问题出在哪里?
谢谢!

参考技术A #include <stdio.h>
#include <stdlib.h>
#include <time.h> //用到了time函数
int main()
int i,number;
srand((unsigned) time(NULL)); //用时间做种,每次产生随机数不一样
for (i=0; i<50; i++)

number = rand() % 101; //产生0-100的随机数
printf("%d ", number);

return 0;

以上是关于PHP程序写得越多发现响应速度越慢,请问写程序中应该注意些啥?我是新手!怎么提高程序响应时间!的主要内容,如果未能解决你的问题,请参考以下文章

递归泛型类型的实例化速度越慢,嵌套越深。为啥?

excel版本越高VBA运行速度越慢,为啥?

网站性能优化你需知道的东西

excel版本越高VBA运行速度越慢,为啥?

Android 解决TextVIew载入自己定义字体慢的问题

DOM的利用冒泡做的一个小程序