chanun
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 69
ออฟไลน์
กระทู้: 1,912
|
 |
« เมื่อ: 26 กันยายน 2008, 18:48:43 » |
|
คำสั่ง include | PHP | การใช้มีผลให้ช้าหรือไม่เกียวกันครับ
แบบว่าผมมีไฟล์ a.php กับ b.php ถ้าเกิดผมเขียน 2 แบบ 1.เขียน b.php แล้วไป include a.php 2.เขียน คำสั่ง a.php ไว้ในไฟล์เดียวกันกับ b.php
ถ้าถามเรื่องการทำงานแล้วอันไหนมันจะทำงานได้เร็ว หรือพอกันครับ เพราะผมคิดว่ามันดึงข้ามไฟล์จะส่งผลให้การทำงานช้า
อันนี้ผมลองๆคิดดูนะแต่ผมไม่รู้จริงเลยมาถามดูนะครับ
ขอบคุณครับ
|
|
|
บันทึกการเข้า
|
 ซื้อเครื่องเล่นเกมคุณภาพและเช็คราคา PS4 PS3 PSP XBOX WII 3DS ได้ที่นี้ psp ราคา 
|
|
|
Fly2BlueSky
ก๊วนเสียว
พลังน้ำใจ: 7
ออฟไลน์
กระทู้: 233
|
 |
« ตอบ #1 เมื่อ: 26 กันยายน 2008, 18:54:05 » |
|
งงอ่า คือแบบนี้ป่าว
ฟอร์ม b.php
<HTML>
.............
<include a.php> ...........
ใช่ป่าวครับ แบบนี้ก็เร็ว กว่าข้ามฟอร์มครับ
|
|
|
บันทึกการเข้า
|
|
|
|
chanun
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 69
ออฟไลน์
กระทู้: 1,912
|
 |
« ตอบ #2 เมื่อ: 26 กันยายน 2008, 19:21:30 » |
|
ประมาณว่าเขียน code a.php กับ b.php
แล้วให้ a.php include b.phpมา
กับ
เขียน code a.php กับ b.php ที่เดียวกัน ในไฟล์ c.php โดยไม่มีการใช้คำสั่ง include
ผมเลยคิดว่าถ้าไป include ไฟล์มามันจะเสียเวลาในการติดต่อข้ามไฟล์ไหม แล้วถ้า include เยอะๆนี้มันจะเสียทรัพยากรไรเยอะไหมหรือครับ
ประมาณนี้นะครับ
|
|
|
บันทึกการเข้า
|
 ซื้อเครื่องเล่นเกมคุณภาพและเช็คราคา PS4 PS3 PSP XBOX WII 3DS ได้ที่นี้ psp ราคา 
|
|
|
did9
Newbie
พลังน้ำใจ: 2
ออฟไลน์
กระทู้: 68
|
 |
« ตอบ #3 เมื่อ: 26 กันยายน 2008, 19:22:39 » |
|
จากที่เคยทำระบบงาน มานะคับ เขียนไฟล์เดียวกัน (ไม่ include) จะเร็วกว่าครับ
ทั้งนี้ ต้องย้ำว่า สำหรับระบบที่มี transaction เยอะๆ มากๆ นะครับ ------ แต่ถ้าเป็นเว็บปกติ แล้วนั้น ผมว่าเขียน code ให้สะดวกต่อการ อ่าน และ แก้ไข
จะดีกว่านะครับ ส่วนการ optimize code นั้นทำเท่าที่จำเป็นจะดีกว่าครับ
|
|
|
บันทึกการเข้า
|
|
|
|
doktup
คนรักเสียว
พลังน้ำใจ: 9
ออฟไลน์
กระทู้: 195
|
 |
« ตอบ #4 เมื่อ: 26 กันยายน 2008, 19:31:25 » |
|
ไม่มีผลคับ อย่าลืมว่า Include ใน Host เดียวกัน พอ include มาก็เจอคำสั่ง คิวรี่ มันก็ทำงานตามการคิวรี่ข้อมูล
แต่ถ้าอยู่คนละ host มีช้าแน่ ๆ คับ ไหนจะเดินทางไปอ่าน Code ไหนจะ ส่งข้อมูลที่ คิวรี่แล้วกลับมาแสดงผล
|
|
|
บันทึกการเข้า
|
|
|
|
chanun
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 69
ออฟไลน์
กระทู้: 1,912
|
 |
« ตอบ #5 เมื่อ: 26 กันยายน 2008, 19:44:43 » |
|
ขอถามเพิ่มอีกนะครับ
code function ที่เราเขียนไว้ใน php ถ้าเขียนไว้ แล้วไม่ใช้นี้จะมีผลไหมครับที่จะทำให้ช้าเวลาแสดงผล
|
|
|
บันทึกการเข้า
|
 ซื้อเครื่องเล่นเกมคุณภาพและเช็คราคา PS4 PS3 PSP XBOX WII 3DS ได้ที่นี้ psp ราคา 
|
|
|
john007
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 18
ออฟไลน์
กระทู้: 1,644
|
 |
« ตอบ #6 เมื่อ: 26 กันยายน 2008, 19:58:37 » |
|
^ ^ อยากรู้เหมือนกัน เพราะเขียนไว้เยอะๆ แต่บางอันก็ไม่ได้ใช้ และขึ้เกียจนั่งไล่ลบ
|
|
|
บันทึกการเข้า
|
|
|
|
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
พลังน้ำใจ: 321
ออฟไลน์
กระทู้: 12,518
|
 |
« ตอบ #7 เมื่อ: 26 กันยายน 2008, 21:26:07 » |
|
เพิ่งเทสแบบบ้าพลังตะกี้ด้วยโค้ดเขียนเอง ผลสรุปการ include 500 ไฟล์ กับรวบลงไฟล์เดียว ด้วยการ declare ตัวแปร และรันฟังค์ชั่น 1 ครั้ง ผลสรุปกับค่าเฉลี่ย 100 ครั้ง คือ พอๆ กันครับ include == no_include  ขอถามเพิ่มอีกนะครับ
code function ที่เราเขียนไว้ใน php ถ้าเขียนไว้ แล้วไม่ใช้นี้จะมีผลไหมครับที่จะทำให้ช้าเวลาแสดงผล
ตามที่เคยเทส จะช้าลงครับ แต่ช้าเพราะการ process ครับ ถ้าฟังค์ชั่นไม่ได้ใช้งาน ก็ไม่น่ามีผลครับ ยกเว้นกรณีเป็น oop และนำมันไปสร้าง obj ไปซะแล้ว อันนี้ถ้าใน oop มีฟังค์ชั่นที่ไม่ได้ใช้ แต่ยังไงมันก็จะช้าลงครับ 
|
|
|
บันทึกการเข้า
|
|
|
|
GAPZiNE
ก๊วนเสียว
พลังน้ำใจ: 7
ออฟไลน์
กระทู้: 492
|
 |
« ตอบ #8 เมื่อ: 26 กันยายน 2008, 22:00:35 » |
|
เพิ่งเทสแบบบ้าพลังตะกี้ด้วยโค้ดเขียนเอง ผลสรุปการ include 500 ไฟล์ กับรวบลงไฟล์เดียว ด้วยการ declare ตัวแปร และรันฟังค์ชั่น 1 ครั้ง ผลสรุปกับค่าเฉลี่ย 100 ครั้ง คือ พอๆ กันครับ include == no_include  ขอถามเพิ่มอีกนะครับ
code function ที่เราเขียนไว้ใน php ถ้าเขียนไว้ แล้วไม่ใช้นี้จะมีผลไหมครับที่จะทำให้ช้าเวลาแสดงผล
ตามที่เคยเทส จะช้าลงครับ แต่ช้าเพราะการ process ครับ ถ้าฟังค์ชั่นไม่ได้ใช้งาน ก็ไม่น่ามีผลครับ ยกเว้นกรณีเป็น oop และนำมันไปสร้าง obj ไปซะแล้ว อันนี้ถ้าใน oop มีฟังค์ชั่นที่ไม่ได้ใช้ แต่ยังไงมันก็จะช้าลงครับ  include 500 ไฟล์ 
|
|
|
บันทึกการเข้า
|
|
|
|
7
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 16
ออฟไลน์
กระทู้: 1,353
|
 |
« ตอบ #9 เมื่อ: 26 กันยายน 2008, 22:05:30 » |
|
include มันช่วยให้ code มีระเบียบขึ้นครับ จะอัดๆใส่ file เดียวกันก็ได้ สมัยเรียน มีเพื่อนเขียน code ส่งการบ้าน เขียนเสร็จ ลบตัวขึ้นบรรทัดทิ้งหมดเลย code ติดกันยาวเป็นพรึดบรรทัดเดียว มันบอก code มันสั้นกว่า แบบนี้มันบ้าครับ
|
|
|
บันทึกการเข้า
|
|
|
|
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
พลังน้ำใจ: 321
ออฟไลน์
กระทู้: 12,518
|
 |
« ตอบ #10 เมื่อ: 26 กันยายน 2008, 22:18:00 » |
|
แก้ไหม พอดีผมเขียนโค้ดผิด มันเลยกินพอๆ กัน  ผลสรุปจริงๆ คือมีผลครับ create function { $var+=$var; } 500 Loops { declare variable exec function echo variable } ทดสอบแค่เรียกซ้ำสิบรอบแล้วหาค่าเฉลี่ยได้ 0.365367 - include 0.018725 - no_include 
|
|
|
บันทึกการเข้า
|
|
|
|
chanun
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 69
ออฟไลน์
กระทู้: 1,912
|
 |
« ตอบ #11 เมื่อ: 26 กันยายน 2008, 22:42:30 » |
|
แก้ไหม พอดีผมเขียนโค้ดผิด มันเลยกินพอๆ กัน  ผลสรุปจริงๆ คือมีผลครับ create function { $var+=$var; } 500 Loops { declare variable exec function echo variable } ทดสอบแค่เรียกซ้ำสิบรอบแล้วหาค่าเฉลี่ยได้ 0.365367 - include 0.018725 - no_include  โอ้ว โอ้ว ขอบคุณสำหรับการทดลองครับ ตะกี้แอบแวะไปอ่านกระทู้ท่านมา มีประโยชน์มากเลยครับ  แต่ก็คิดอยู่ถ้าเขียนอยู่ในไฟล์เดียวกันโคตมันจะไม่ค่อยมีระเบียบ ดุยากต่อการแก้ไข  แต่ที่จริงไฟล์ที่ผม include มันประมาณครั้งล่ะ10 นะครับ คงไม่เท่าไหร่ร แต่ถ้ารันไฟล์นั้นบ่อยๆผมคิดว่ามันอาจมีผลทำให้เวบช้า เลยลองๆมาหาคำตอบดูนะครับ
|
|
« แก้ไขครั้งสุดท้าย: 26 กันยายน 2008, 22:45:18 โดย chanun »
|
บันทึกการเข้า
|
 ซื้อเครื่องเล่นเกมคุณภาพและเช็คราคา PS4 PS3 PSP XBOX WII 3DS ได้ที่นี้ psp ราคา 
|
|
|
jiw
Verified Seller
เจ้าพ่อบอร์ดเสียว
พลังน้ำใจ: 147
ออฟไลน์
กระทู้: 5,923
|
 |
« ตอบ #12 เมื่อ: 26 กันยายน 2008, 22:45:26 » |
|
มีผลอาจจะมองไม่เห็นชัดเจนมาก แต่ต่างกันค่อนข้างเยอะจริงๆ
|
|
|
บันทึกการเข้า
|
|
|
|
pugkung
Verified Seller
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 196
ออฟไลน์
กระทู้: 2,681
|
 |
« ตอบ #13 เมื่อ: 26 กันยายน 2008, 22:46:15 » |
|
สรุป มัน ดีหรือไม่ดีอ่าครับ ไอ้การ include นี้
|
|
|
บันทึกการเข้า
|
|
|
|
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
พลังน้ำใจ: 321
ออฟไลน์
กระทู้: 12,518
|
 |
« ตอบ #14 เมื่อ: 26 กันยายน 2008, 23:25:13 » |
|
สรุป มัน ดีหรือไม่ดีอ่าครับ ไอ้การ include นี้
ดีครับ พูดถึงแค่การ include อย่างเดียว มันไม่ได้กินอะไรเลย อย่างที่เทสข้างบน โค้ดเหมือนกัน ระหว่าง include 500 ไฟล์ กับเอา 500 ไฟล์มารวมเป็นไฟล์เดียว มันก็ต่างกันนิดเดียวเองครับ ให้เทียบว่าถ้าให้ระบบเร็วขึ้นอีกนิด แต่โค้ดรก เป็นผมๆ ก็ไม่เอา นึกถึง AOM สิ โห มึน ยำและ 
|
|
|
บันทึกการเข้า
|
|
|
|
digitalex
สมุนแก๊งเสียว
พลังน้ำใจ: 14
ออฟไลน์
กระทู้: 670
|
 |
« ตอบ #15 เมื่อ: 26 กันยายน 2008, 23:32:31 » |
|
ปกติการ include มันจะเป็นการแทรกสคิปเข้าไปในไฟล์ที่ เรียก include ทำให้เหมือนกับว่ามันเป็นไฟล์ ไฟล์เดียวกัน แต่เวลาใช้งานมันไม่ค่อยเห็นผลเท่าไรหรอกครับ
|
|
|
บันทึกการเข้า
|
|
|
|
pugkung
Verified Seller
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 196
ออฟไลน์
กระทู้: 2,681
|
 |
« ตอบ #16 เมื่อ: 26 กันยายน 2008, 23:52:18 » |
|
อืม แสดงว่า พูดถึงความคุ้มค่าในระยะยาว ก็ ยังน่าใช้อยู่ 
|
|
|
บันทึกการเข้า
|
|
|
|
ball6847
เจ้าพ่อบอร์ดเสียว
พลังน้ำใจ: 212
ออฟไลน์
กระทู้: 4,174
|
 |
« ตอบ #17 เมื่อ: 26 กันยายน 2008, 23:56:14 » |
|
จะซีเรียสทำมัยอ่ะ
wordpress หรือ cms ส่วนใหญ่ก็เขียน function หรือ class เป็นชุดๆไว้แล้วเรียกทีเดียว
ผมว่าโค้ดสะอาด สั้น อ่านง่าย สำคัญกว่าเยอะ
|
|
|
บันทึกการเข้า
|
|
|
|
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
พลังน้ำใจ: 321
ออฟไลน์
กระทู้: 12,518
|
 |
« ตอบ #18 เมื่อ: 27 กันยายน 2008, 00:03:20 » |
|
ปัญหาจริงๆ ไม่ได้อยู่ที่จำนวนไฟล์ที่ include หรอกครับ เร็วช้าอยู่ที่ code ทั้งนั้น เช่นต่อให้เอา zend framework มายำลงไฟล์เดียวได้ ยังไงเอาไปใช้ มันก็อืดอยู่ดี 
|
|
|
บันทึกการเข้า
|
|
|
|
tinnoi
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 90
ออฟไลน์
กระทู้: 2,957
|
 |
« ตอบ #19 เมื่อ: 27 กันยายน 2008, 01:19:34 » |
|
เป็นการทดลองที่ยิ่งใหญ่มากเลยครับ เป็นความรู้ใหม่ของผมเลยนะเนี่ย
ขอบคุณมากครับ
|
|
|
บันทึกการเข้า
|
|
|
|
|