นี่คือคำสั่ง dprofppp ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
dprofpp - แสดงข้อมูลโปรไฟล์ Perl
เรื่องย่อ
ดีโปรฟปป์ [-a|-z|-l|-v|-U] [-d] [-s|-r|-u] [-q] [-F] [-ฉัน|-อี] [-O CNT] [-A] [-R] [-S] [-g
รูทีนย่อย] [-G [-P--f ] [ข้อมูลส่วนตัว]
dproppp -T [-F] [-g รูทีนย่อย] [ข้อมูลส่วนตัว]
dproppp -t [-F] [-g รูทีนย่อย] [ข้อมูลส่วนตัว]
dproppp -G [-P] [ข้อมูลส่วนตัว]
dproppp -p ต้นฉบับ [-Q] [ตัวเลือกอื่นๆ]
dproppp -V [ข้อมูลส่วนตัว]
DESCRIPTION
พื้นที่ dproppp คำสั่งตีความข้อมูลโปรไฟล์ที่สร้างโดยผู้สร้างโปรไฟล์ เช่น
ผู้สร้างโปรไฟล์ Devel::DPof Dprofpp จะอ่านไฟล์ tmon.ออก และแสดง 15 รูทีนย่อย
ซึ่งใช้เวลามากที่สุด โดยค่าเริ่มต้น เวลาสำหรับแต่ละรูทีนย่อยจะได้รับ
ไม่รวมช่วงเวลาของรูทีนย่อยย่อย
หากต้องการสร้างโปรไฟล์สคริปต์ Perl ให้เรียกใช้ตัวแปล Perl ด้วย -d สวิตซ์. เพื่อโปรไฟล์
ต้นฉบับ ทดสอบ.pl ด้วย Devel::DPof ใช้สิ่งต่อไปนี้:
$ perl5 -d:DPof test.pl
จากนั้นเรียกใช้ dprofpp เพื่อวิเคราะห์โปรไฟล์ ผลลัพธ์ของ dprofpp ขึ้นอยู่กับแฟล็กto
โปรแกรมและเวอร์ชันของ Perl ที่คุณใช้
$dprofpp -u
เวลาที่ผ่านไปทั้งหมด = 1.67 วินาที
เวลาของผู้ใช้ = 0.61 วินาที
เอ็กซ์คลูซีฟไทม์
%เวลา วินาที #Calls วินาที/ชื่อการโทร
52.4 0.320 2 0.1600 หลัก::foo
45.9 0.280 200 0.0014 หลัก::บาร์
0.00 0.000 1 0.0000 DynaLoader::นำเข้า
0.00 0.000 1 0.0000 หลัก::baz
เครื่องมือ dprofpp ยังสามารถเรียกใช้ตัวสร้างโปรไฟล์ก่อนที่จะวิเคราะห์ข้อมูลโปรไฟล์ ข้างบน
สองคำสั่งสามารถดำเนินการได้ด้วยคำสั่ง dprofpp หนึ่งคำสั่ง
$ dprofpp -u -p test.pl
ปรึกษา "PROFILE FORMAT" ใน Devel::DProf สำหรับคำอธิบายของโปรไฟล์ดิบ
เอาท์พุท
คอลัมน์คือ:
%เวลา
เปอร์เซ็นต์ของเวลาที่ใช้ในกิจวัตรนี้
# โทร
จำนวนการโทรไปยังรูทีนนี้
วินาที/โทร
จำนวนวินาทีเฉลี่ยต่อการโทรไปยังรูทีนนี้
Name
ชื่อของรูทีน
คูมุลส
เวลา (เป็นวินาที) ที่ใช้ในกิจวัตรนี้และกิจวัตรที่เรียกจากกิจวัตรนี้
ไม่รวมวินาที
เวลา (เป็นวินาที) ที่ใช้ในกิจวัตรนี้ (ไม่รวมที่เรียกจากกิจวัตรนี้)
วินาที/ค
เวลาเฉลี่ย (เป็นวินาที) ที่ใช้ในการโทรแต่ละครั้งของกิจวัตรนี้ (รวมถึงการโทร
จากมัน).
OPTIONS
-a เรียงตามตัวอักษรตามชื่อรูทีนย่อย
-d ย้อนกลับอะไรก็ตามที่ถูกใช้
-A นับเวลาสำหรับรูทีนย่อยที่โหลดอัตโนมัติเป็นเวลาสำหรับ *::AUTOLOAD มิฉะนั้นเวลา
ในการโหลดอัตโนมัติจะนับเป็นช่วงเวลาของรูทีนย่อยเอง (ไม่มีทางที่จะ
เวลาโหลดอัตโนมัติแยกจากเวลาทำงาน)
สิ่งนี้จะไม่เกี่ยวข้องกับ Perls ที่ใหม่กว่า พวกเขาจะแจ้ง "Devel::DPof"
เมื่อ "AUTOLOAD" จะสลับเป็นรูทีนย่อยจริง ดังนั้นจึงแยกสถิติสำหรับ
"AUTOLOAD" จะถูกรวบรวมไม่ว่าจะตั้งค่าตัวเลือกนี้ไว้หรือไม่
-R นับรูทีนย่อยที่ไม่ระบุชื่อที่กำหนดไว้ในแพ็คเกจเดียวกันแยกกัน
-E (ค่าเริ่มต้น) แสดงเวลารูทีนย่อยทั้งหมด ไม่รวมเวลารูทีนย่อยย่อย
-F บังคับให้สร้างการประทับเวลาออกปลอมหาก dprofpp รายงานว่าโปรไฟล์นั้น
อ่านไม่ออก สิ่งนี้มีประโยชน์ก็ต่อเมื่อ dprofpp พิจารณาว่าโปรไฟล์นั้นอ่านไม่ออกเนื่องจาก
ถึงการประทับเวลาออกที่หายไป คุณอยู่คนเดียวถ้าคุณทำเช่นนี้ ปรึกษา BUGS
มาตรา.
-I แสดงเวลารูทีนย่อยทั้งหมดรวมเวลารูทีนย่อยย่อย
-l เรียงตามจำนวนการโทรไปยังรูทีนย่อย ซึ่งอาจช่วยระบุผู้สมัครรับเลือกตั้งสำหรับ
ซับใน
-O CNT
แสดงเท่านั้น CNT รูทีนย่อย ค่าเริ่มต้นคือ 15
-p ต้นฉบับ
บอก dprofpp ว่าควรสร้างโปรไฟล์สคริปต์ที่กำหนดแล้วตีความโปรไฟล์
ข้อมูล. ดู -Q.
-Q ใช้กับ -p เพื่อบอก dprofpp ให้ออกหลังจากสร้างโปรไฟล์สคริปต์โดยไม่ต้องตีความ
ข้อมูล.
-q ไม่ต้องแสดงส่วนหัวของคอลัมน์
-r แสดงเวลาจริงที่ผ่านไปมากกว่าเวลาของผู้ใช้+ระบบ
-s แสดงเวลาของระบบมากกว่าเวลาของผู้ใช้+ระบบ
-T แสดงแผนผังการเรียกรูทีนย่อยไปที่ stdout สถิติรูทีนย่อยจะไม่แสดง
-t แสดงแผนผังการเรียกรูทีนย่อยไปที่ stdout สถิติรูทีนย่อยจะไม่แสดง
เมื่อเรียกใช้ฟังก์ชันหลายครั้งติดต่อกันที่ระดับการโทรเดียวกันแล้ว
จะแสดงครั้งเดียวด้วยการนับซ้ำ
-S แสดง ผสาน ต้นไม้เรียกรูทีนย่อยไปที่ stdout สถิติจะแสดงสำหรับแต่ละ
กิ่งก้านของต้นไม้
เมื่อฟังก์ชันถูกเรียกหลายรายการ (ไม่ จำเป็นต้อง ติดต่อกัน) ครั้งในคราวเดียวกัน
แบรนช์ จากนั้นการเรียกทั้งหมดเหล่านี้จะเข้าไปในสาขาหนึ่งของระดับถัดไป การนับซ้ำคือ
เอาต์พุตพร้อมกับเวลารวมพิเศษและเวลาเด็ก
สาขาจะถูกจัดเรียงตามเวลาที่รวม
-U อย่าเรียงลำดับ แสดงตามลำดับที่พบในโปรไฟล์ดิบ
-u แสดงเวลาของผู้ใช้มากกว่าเวลาของผู้ใช้+ระบบ
-V พิมพ์หมายเลขเวอร์ชันของ dprofpp และออก หากพบโปรไฟล์ดิบแสดงว่าเป็น
ตัวแปร XS_VERSION ก็จะปรากฏขึ้นเช่นกัน
-v จัดเรียงตามเวลาเฉลี่ยที่ใช้ในรูทีนย่อยระหว่างการโทรแต่ละครั้ง ซึ่งอาจช่วยในการระบุ
ผู้สมัครสำหรับอินไลน์
-z (ค่าเริ่มต้น) เรียงตามจำนวนผู้ใช้+เวลาของระบบที่ใช้ สองสามบรรทัดแรกควรแสดง
คุณว่ารูทีนย่อยใดใช้เวลามากที่สุด
-g "รูทีนย่อย"
ละเว้นรูทีนย่อย ยกเว้น "รูทีนย่อย" และอะไรก็ตามที่เรียกจากรูทีนย่อย
-G
รวม "กลุ่ม" การโทรทั้งหมดที่ตรงกับรูปแบบเข้าด้วยกัน ตัวอย่างเช่น นี่อาจเป็น
ใช้เพื่อจัดกลุ่มการโทรทั้งหมดของชุดแพ็คเกจ
-G "(package1::)|(package2::)|(package3::)"
หรือจัดกลุ่มรูทีนย่อยตามชื่อ:
-G "getNum"
-P ใช้กับ -G เพื่อรวม "Pull" การโทรทั้งหมดที่ไม่ตรงกับ -G
-f
กรองการโทรทั้งหมดที่ตรงกับรูปแบบ
-h แสดงความช่วยเหลือสั้นๆ และออก
-H แสดงความช่วยเหลือแบบยาวและออก
และพวกเรา
ตัวแปรสภาพแวดล้อม DPROFPP_OPTS สามารถตั้งค่าเป็นสตริงที่มีตัวเลือกสำหรับ
dprofpp คุณสามารถใช้สิ่งนี้ได้หากต้องการ -I เกิน -E หรือถ้าคุณต้องการ -F ตลอดเวลา
สิ่งนี้ถูกเพิ่มเข้ามาอย่างเกียจคร้าน ดังนั้นจึงมีผลข้างเคียงที่ไม่พึงประสงค์บางประการ ตัวเลือกบน
commandline ควรแทนที่ตัวเลือกใน DPROFPP_OPTS - แต่อย่านับในสิ่งนี้
รุ่น
ใช้ dprofppp ออนไลน์โดยใช้บริการ onworks.net