Hướng dẫn efficiency in php - hiệu quả trong php

Dung dịch

Các chức năng PHP và hiệu quả của máy chủ [PHP Functions and server efficiency]

Vì vậy, nếu tôi có mã sau:


Câu hỏi 1: Tôi có đúng khi cho rằng máy chủ sẽ tải toàn bộ chức năng trước tiên và sau đó thậm chí có thể không sử dụng nó không? Tôi có đúng khi cho rằng máy chủ sẽ tải toàn bộ chức năng trước tiên và sau đó thậm chí có thể không sử dụng nó không?

Câu hỏi 2: < / strong> Nếu đúng như vậy, đặt mã hàm bên trong dấu ngoặc "{}" sau mã khác trong mã trước đó có phải là cách hiệu quả hơn không? [giả sử rằng mã sẽ chỉ chạy một lần và không cần sử dụng ở bất kỳ nơi nào khác].

Vì mã sẽ chỉ tải và chạy nếu "$ someBooleanVariable" là FALSE, tôi giả sử rằng máy chủ sẽ ít được sử dụng hơn nếu mã không có trong hàm mà nằm trong dấu ngoặc sau "else".

## Dung dịch #### Dung dịch 1:

PHP has to parse the WHOLE file, creates some bytecode from it that represents the source code, and then executes that bytecode.

It does not matter where you place your function ‑ it will always be parsed and made into bytecode.

Once it is bytecode, the execution path may differ, i.e. the function may not be called, but I fail to see that this makes anything but minor differences.

All in all, you are asking about microoptimizations. If you can write code that clearly proves that one approach is better than the other, and that the speed differences are significant [i.e. they are more than 10% faster], and that the code readability is not significantly worse, you have a valid case.

I don't think you have a valid case here. The function will get parsed independently of where it is placed, and executed only when the code path leads there.

[by Webeng、Sven]

Dung dịch

  1. PHP Functions and server efficiency [CC BY‑SA 2.5/3.0/4.0]

#server #performance #PHP #function #performance #PHP #function

Htroyo ¶

6 năm trước

Ju Dot Nk tại email dot cz ¶

4 năm trước

Giám mục ¶

19 năm trước

MPARSA1372 tại Gmail Dot Com ¶

1 năm trước

epicxmoe tại gmail dot com
echo "My first PHP script!";
?>

1 năm trước

epicxmoe tại gmail dot com

Học PHP

PHP là ngôn ngữ kịch bản máy chủ và một công cụ mạnh mẽ để tạo các trang web năng động và tương tác.

PHP là một sự thay thế được sử dụng rộng rãi, miễn phí và hiệu quả cho các đối thủ cạnh tranh như Microsoft's ASP.

Bắt đầu học PHP ngay bây giờ »

Dễ học với "php tryit"

Với trình chỉnh sửa "Php Tryit" trực tuyến của chúng tôi, bạn có thể chỉnh sửa mã PHP và nhấp vào nút để xem kết quả.

Thí dụ

epicxmoe tại gmail dot com

Học PHP

Hãy tự mình thử »

Nhấp vào nút "Hãy tự mình thử" để xem nó hoạt động như thế nào.

Bài tập PHP

Ví dụ PHP

Tìm hiểu bằng ví dụ! Hướng dẫn này bổ sung tất cả các giải thích với các ví dụ làm rõ.


Xem tất cả các ví dụ PHP

Bài kiểm tra câu đố PHPthe course

Tìm hiểu bằng cách làm một bài kiểm tra! Câu đố này sẽ cung cấp cho bạn một tín hiệu về mức độ bạn biết hoặc không biết về PHP.

Bắt đầu câu đố PHP!



5 năm trước

Ẩn danh ¶

for [expr1; expr2; expr3]
    statement

2 năm trước

Justinb tại Harvest Dot org ¶true, the loop continues and the nested statement[s] are executed. If it evaluates to false, the execution of the loop ends.

17 năm trước

Vincenzo Raco ¶true, like C]. This may not be as useless as you might think, since often you'd want to end the loop using a conditional break statement instead of using the for truth expression.

Xem xét các ví dụ sau. Tất cả chúng hiển thị các số từ 1 đến 10:

for [expr1; expr2; expr3]
    statement
0

Tất nhiên, ví dụ đầu tiên dường như là cái đẹp nhất [hoặc có lẽ là thứ tư], nhưng bạn có thể thấy rằng việc có thể sử dụng các biểu thức trống trong các vòng for có ích trong nhiều trường hợp.

PHP cũng hỗ trợ "cú pháp đại tràng" thay thế cho các vòng for.

for [expr1; expr2; expr3]:
    statement
    ...
endfor;

Đó là một điều phổ biến đối với nhiều người dùng để lặp lại thông qua các mảng như trong ví dụ dưới đây.

for [expr1; expr2; expr3]
    statement
3

for [expr1; expr2; expr3]
    statement
4

for [expr1; expr2; expr3]
    statement
5

Mã trên có thể chậm, vì kích thước mảng được tìm nạp trên mỗi lần lặp. Vì kích thước không bao giờ thay đổi, vòng lặp dễ dàng được tối ưu hóa bằng cách sử dụng biến trung gian để lưu trữ kích thước thay vì số lần gọi liên tục []:count[]:

for [expr1; expr2; expr3]
    statement
6

for [expr1; expr2; expr3]
    statement
4

for [expr1; expr2; expr3]
    statement
8

Matthiaz ¶

10 năm trước

for [expr1; expr2; expr3]
    statement
9

for [expr1; expr2; expr3]:
    statement
    ...
endfor;
0

for [expr1; expr2; expr3]:
    statement
    ...
endfor;
1

for [expr1; expr2; expr3]:
    statement
    ...
endfor;
2

for [expr1; expr2; expr3]:
    statement
    ...
endfor;
3

Nzamani tại Cyberworldz Dot de ¶

21 năm trước

for [expr1; expr2; expr3]:
    statement
    ...
endfor;
4

for [expr1; expr2; expr3]:
    statement
    ...
endfor;
5

for [expr1; expr2; expr3]:
    statement
    ...
endfor;
6

for [expr1; expr2; expr3]:
    statement
    ...
endfor;
7

for [expr1; expr2; expr3]:
    statement
    ...
endfor;
3

Andrew ¶

8 năm trước

for [expr1; expr2; expr3]:
    statement
    ...
endfor;
9

for0

for [expr1; expr2; expr3]:
    statement
    ...
endfor;
3

Warbo ¶

8 năm trước

for2

for3

for4

for5

Warbo ¶

Ju Dot Nk tại email dot cz ¶

for6

for7

for8

for9

for0

for [expr1; expr2; expr3]:
    statement
    ...
endfor;
3

4 năm trước

DX tại e-mogensen dot dk ¶

for2

for3

for4

for5

for6

for7

for8

for9

true0

true1

for [expr1; expr2; expr3]:
    statement
    ...
endfor;
3

5 năm trước

Ẩn danh ¶

true3

2 năm trước

Justinb tại Harvest Dot org ¶

true4

true5

for [expr1; expr2; expr3]:
    statement
    ...
endfor;
3

Vincenzo Raco ¶

8 năm trước

true7

true8

true9

false0

Philipp Trommler ¶

9 năm trước

false1

true8

false3

false4

Aokmikey ¶

8 năm trước

false5

false6

false7

for [expr1; expr2; expr3]:
    statement
    ...
endfor;
3

Philipp Trommler ¶

9 năm trước

false9

true0

for [expr1; expr2; expr3]:
    statement
    ...
endfor;
3

Aokmikey ¶

người dùng tại máy chủ dot com com

true2

18 năm trước

Htroyo ¶

for6

true4

for7

for8

for9

for0

for [expr1; expr2; expr3]:
    statement
    ...
endfor;
3

6 năm trước

8 năm trước

break0

break1

break2

for [expr1; expr2; expr3]:
    statement
    ...
endfor;
3

Ju Dot Nk tại email dot cz ¶

4 năm trước

break4

break5

break6

break7

break8

for [expr1; expr2; expr3]:
    statement
    ...
endfor;
3

Ẩn danh ¶

Giám mục ¶

for0

for1

for [expr1; expr2; expr3]:
    statement
    ...
endfor;
3

19 năm trước

MPARSA1372 tại Gmail Dot Com ¶

for3

for4

for5

for [expr1; expr2; expr3]:
    statement
    ...
endfor;
3

19 năm trước

MPARSA1372 tại Gmail Dot Com ¶

for7

for5

for [expr1; expr2; expr3]:
    statement
    ...
endfor;
3

Chủ Đề