คำถามติดแท็ก benchmarking

Benchmarking เป็นกระบวนการเปรียบเทียบระบบหรือกระบวนการตั้งแต่สองระบบขึ้นไปภายใต้สถานการณ์ที่มีการควบคุมเพื่อให้มีการวัดเชิงปริมาณที่จะเปรียบเทียบหรือจัดอันดับ ควรใช้แท็กการเปรียบเทียบสำหรับคำถามเกี่ยวกับวิธีดำเนินงานการเปรียบเทียบหรือคำถามทางทฤษฎีไม่ใช่สำหรับรายการผลการเปรียบเทียบหรือคำขอข้อมูลการเปรียบเทียบ คำถามเหล่านี้ไม่อยู่ในหัวข้อสำหรับ Stack Overflow

10
ทำไมการอ่านบรรทัดจาก stdin ช้ากว่ามากใน C ++ มากกว่า Python?
ฉันต้องการเปรียบเทียบบรรทัดการอ่านของอินพุตสตริงจาก stdin โดยใช้ Python และ C ++ และรู้สึกตกใจเมื่อเห็นว่ารหัส C ++ ของฉันมีลำดับความสำคัญช้ากว่าโค้ด Python ที่เทียบเท่า เนื่องจาก C ++ ของฉันเป็นสนิมและฉันยังไม่ใช่ผู้เชี่ยวชาญ Pythonista โปรดบอกฉันว่าฉันทำอะไรผิดหรือถ้าฉันเข้าใจผิดบางอย่าง (คำตอบ TLDR: รวมคำสั่ง: cin.sync_with_stdio(false)หรือใช้fgetsแทน ผลลัพธ์ TLDR: เลื่อนลงมาจนสุดด้านล่างของคำถามแล้วดูที่ตาราง) รหัส C ++: #include <iostream> #include <time.h> using namespace std; int main() { string input_line; long line_count = 0; time_t start = time(NULL); int …

5
'ของจริง' 'ผู้ใช้' และ 'sys' หมายถึงอะไรในผลลัพธ์ของเวลา (1)
$ time foo real 0m0.003s user 0m0.000s sys 0m0.004s $ 'ของจริง', 'ผู้ใช้' และ 'sys' หมายถึงอะไรในผลลัพธ์ของเวลา ตัวเลือกใดที่มีความหมายเมื่อทำการเปรียบเทียบแอพของฉัน
1746 unix  time  benchmarking 

11
ฉันจะเขียน micro-benchmark ที่ถูกต้องใน Java ได้อย่างไร
ตั้งอยู่ในส่วนของStack Overflow ที่อยู่ : การตั้งค่าเริ่มต้นของ Java หรือไม่? คุณเขียน (และรัน) เกณฑ์มาตรฐานขนาดเล็กที่ถูกต้องใน Java ได้อย่างไร ฉันกำลังมองหาตัวอย่างโค้ดและความคิดเห็นที่แสดงถึงสิ่งต่าง ๆ ที่ควรพิจารณา ตัวอย่าง: เกณฑ์มาตรฐานควรวัดเวลา / การวนซ้ำหรือการวนซ้ำ / เวลาและทำไม? ที่เกี่ยวข้อง: การเปรียบเทียบเกณฑ์มาตรฐานของนาฬิกาจับเวลายอมรับได้หรือไม่

10
ทำไม 2 * (i * i) เร็วกว่า 2 * i * i ใน Java
โปรแกรม Java ต่อไปนี้ใช้เวลาเฉลี่ยระหว่าง 0.50 วินาทีและ 0.55 วินาทีเพื่อให้ทำงาน: public static void main(String[] args) { long startTime = System.nanoTime(); int n = 0; for (int i = 0; i < 1000000000; i++) { n += 2 * (i * i); } System.out.println((double) (System.nanoTime() - startTime) / 1000000000 + " s"); System.out.println("n = …

3
ทำไมรหัสไพ ธ อนจึงทำงานได้เร็วขึ้นในฟังก์ชั่น?
def main(): for i in xrange(10**8): pass main() รหัสชิ้นนี้ใน Python ทำงานใน (หมายเหตุ: การจับเวลาเสร็จสิ้นด้วยฟังก์ชั่นเวลาใน BASH ใน Linux) real 0m1.841s user 0m1.828s sys 0m0.012s อย่างไรก็ตามหาก for for ไม่ได้อยู่ในฟังก์ชัน for i in xrange(10**8): pass จากนั้นมันจะทำงานเป็นเวลานาน: real 0m4.543s user 0m4.524s sys 0m0.012s ทำไมนี้

28
C + + เร็วกว่า C # เร็วเท่าใด
หรือตอนนี้เป็นวิธีอื่น ๆ ? จากสิ่งที่ฉันได้ยินมีบางพื้นที่ที่ C # พิสูจน์ได้ว่าเร็วกว่า C ++ แต่ฉันไม่เคยกล้าพอที่จะทดสอบด้วยตัวเอง คิดว่าคุณคนใดสามารถอธิบายความแตกต่างในรายละเอียดเหล่านี้หรือชี้ให้ฉันถูกที่สำหรับข้อมูลนี้

7
เสียงดังก้องกับ GCC - ซึ่งสร้างไบนารีที่ดีกว่า? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ปัจจุบันฉันใช้ GCC แต่ฉันค้นพบ Clang เมื่อเร็ว ๆ นี้และฉันกำลังไตร่ตรองการสลับ มีปัจจัยหนึ่งในการตัดสินใจว่า - คุณภาพ (ความเร็ว, หน่วยความจำรอยเท้า, ความน่าเชื่อถือ) ของไบนารีที่สร้าง - หากgcc -O3สามารถสร้างไบนารีที่ทำงานได้เร็วขึ้น 1% หรือใช้หน่วยความจำน้อยลง 1% มันเป็นดีลเลอร์ดีล Clang มีความเร็วในการคอมไพล์ที่ดีขึ้นและการปล่อยหน่วยความจำเวลาคอมไพล์ที่ต่ำกว่า GCC แต่ฉันสนใจในการวัด / เปรียบเทียบผลของซอฟต์แวร์ที่คอมไพล์แล้ว - คุณช่วยชี้ให้ฉันเห็นหรือเล่าประสบการณ์ของคุณได้ไหม?

3
ทดสอบการโหลดด้วย AB …คำขอที่ล้มเหลวปลอม (ความยาว)
ในการทำการทดสอบโหลดสำหรับความอยากรู้อยากเห็นของฉันเองบนเซิร์ฟเวอร์ของฉันฉันวิ่ง: ab -kc 50 -t 200 http://localhost/index.php สิ่งนี้จะเปิดการเชื่อมต่อที่คงอยู่ 50 การเชื่อมต่อเป็นเวลา 200 วินาทีและเพียงติเตียนเซิร์ฟเวอร์ของฉันด้วยการร้องขอ index.php ในผลลัพธ์ของฉันฉันจะได้รับ: Concurrency Level: 50 Time taken for tests: 200.007 seconds Complete requests: 33106 Failed requests: 32951 (Connect: 0, Receive: 0, Length: 32951, Exceptions: 0) Write errors: 0 Keep-Alive requests: 0 Total transferred: 1948268960 bytes HTML transferred: 1938001392 …

15
เวลาดำเนินการของโปรแกรม C
ฉันมีโปรแกรม C ที่มีวัตถุประสงค์เพื่อให้ทำงานแบบขนานกับโปรเซสเซอร์หลายตัว ฉันต้องสามารถบันทึกเวลาดำเนินการ (ซึ่งอาจเป็นที่ใดก็ได้จาก 1 วินาทีถึงหลายนาที) ฉันค้นหาคำตอบแล้ว แต่พวกเขาดูเหมือนจะแนะนำให้ใช้clock()ฟังก์ชันซึ่งเกี่ยวข้องกับการคำนวณจำนวนนาฬิกาที่โปรแกรมใช้หารด้วยClocks_per_secondค่า ฉันไม่แน่ใจว่าClocks_per_secondคำนวณค่าได้อย่างไร? ใน Java ฉันใช้เวลาปัจจุบันเป็นมิลลิวินาทีก่อนและหลังการทำงาน มีสิ่งที่คล้ายกันใน C? ฉันดูแล้ว แต่ฉันไม่สามารถหาวิธีที่จะได้อะไรที่ดีไปกว่าความละเอียดที่สอง ฉันยังรู้ว่า profiler จะเป็นตัวเลือก แต่ฉันต้องการใช้ตัวจับเวลา ขอบคุณ
209 c  benchmarking 

7
Redis เร็วกว่า mongoDB เร็วเท่าใด
มีการกล่าวถึงอย่างกว้างขวางว่า Redis คือ "Blazing Fast" และ mongoDB นั้นก็รวดเร็วเช่นกัน แต่ฉันมีปัญหาในการหาตัวเลขจริงเปรียบเทียบผลลัพธ์ของทั้งสอง ด้วยการกำหนดค่าคุณสมบัติและการทำงานที่คล้ายกัน (และอาจแสดงให้เห็นว่าปัจจัยที่เปลี่ยนแปลงไปด้วยการกำหนดค่าและการทำงานที่แตกต่างกัน) ฯลฯ Redis เร็วขึ้น 10 เท่าหรือไม่ 2x เร็วกว่าหรือเร็วขึ้น 5 เท่า? ฉันพูดถึงการแสดงเท่านั้น ฉันเข้าใจว่า mongoDB เป็นเครื่องมือที่แตกต่างและมีชุดคุณลักษณะที่สมบูรณ์ยิ่งขึ้น นี่ไม่ใช่ "is mongoDB ที่ดีกว่าอภิปรายกว่า Redis" ฉันถามว่า Redis มีประสิทธิภาพเหนือกว่า mongoDB อย่างไร ณ จุดนี้แม้การวัดประสิทธิภาพราคาถูกจะดีกว่าการไม่มีการวัดประสิทธิภาพ

5
การทดสอบโหลด ab
มีคนช่วยแนะนำขั้นตอนการทดสอบโหลดเว็บไซต์ด้วยapache bench tool ( ab) ได้ไหม? ฉันต้องการทราบสิ่งต่อไปนี้: ไซต์สามารถจัดการคนได้กี่คนต่อนาที โปรดแนะนำฉันผ่านคำสั่งที่ฉันควรใช้เพื่อคิดเรื่องนี้ ฉันลองทุกบทช่วยสอนและพวกเขาก็สับสน

10
สิ่งใดเร็วกว่า: INSERT เดียวหลายรายการหรือ INSERT หลายแถว
ฉันพยายามเพิ่มประสิทธิภาพส่วนหนึ่งของรหัสของฉันที่แทรกข้อมูลลงใน MySQL ฉันควรเชื่อมโยง INSERT เพื่อสร้าง INSERT หลายแถวขนาดใหญ่หนึ่งรายการหรือแทรก INSERT แยกหลายรายการเร็วขึ้นหรือไม่

4
MATLAB OOP ช้าหรือฉันทำอะไรผิดหรือเปล่า?
ผมทดลองกับMATLAB OOPเป็นจุดเริ่มต้นที่ผมเลียนแบบของฉัน c ++ 's เรียน Logger และฉันวางฟังก์ชั่นผู้ช่วยสตริงของฉันทั้งหมดในชั้นเรียน String คิดว่ามันจะดีที่จะสามารถที่จะทำสิ่งที่ชอบa + b, a == b, a.find( b )แทนstrcat( a b ), strcmp( a, b ), ดึงองค์ประกอบแรกของstrfind( a, b )ฯลฯ ปัญหา: การชะลอตัว ฉันใช้สิ่งต่าง ๆ ข้างต้นเพื่อใช้งานและสังเกตเห็นการชะลอตัวที่รุนแรงในทันที ฉันทำผิดหรือเปล่า (ซึ่งเป็นไปได้อย่างแน่นอนเนื่องจากฉันมีประสบการณ์ค่อนข้าง จำกัด MATLAB) หรือ OOP ของ MATLAB เพิ่งแนะนำค่าใช้จ่ายจำนวนมากหรือไม่? กรณีทดสอบของฉัน นี่คือการทดสอบง่ายๆที่ฉันทำกับสตริงโดยทั่วไปเพียงแค่ต่อท้ายสตริงและนำส่วนที่ต่อท้ายออกมาอีกครั้ง: หมายเหตุ: อย่าเขียนคลาส String อย่างนี้ในรหัสจริง! Matlab …

2
ทำไมการจัดสรรเริ่มต้น C ++ จึงมีขนาดใหญ่กว่า C มาก?
เมื่อใช้รหัสเดียวกันการเปลี่ยนคอมไพเลอร์ (จากคอมไพเลอร์ C เป็นคอมไพเลอร์ C ++) จะเปลี่ยนจำนวนหน่วยความจำที่จัดสรร ฉันไม่แน่ใจว่าทำไมถึงเป็นเช่นนี้และต้องการที่จะเข้าใจมากกว่านี้ จนถึงการตอบสนองที่ดีที่สุดที่ฉันได้รับคือ "อาจเป็นสตรีม I / O" ซึ่งไม่ได้อธิบายมากและทำให้ฉันสงสัยเกี่ยวกับ "คุณไม่จ่ายเงินสำหรับสิ่งที่คุณไม่ได้ใช้" แง่มุมของ C ++ ฉันใช้คอมไพเลอร์ Clang และ GCC เวอร์ชัน 7.0.1-8 และ 8.3.0-6 ตามลำดับ ระบบของฉันทำงานบน Debian 10 (Buster) เวอร์ชันล่าสุด มาตรฐานจะทำผ่าน Valgrind Massif #include <stdio.h> int main() { printf("Hello, world!\n"); return 0; } รหัสที่ใช้ไม่เปลี่ยนแปลง แต่ไม่ว่าฉันจะคอมไพล์เป็น C หรือเป็น C …
138 c++  c  benchmarking 

9
วิธีการวัดประสิทธิภาพของสคริปต์ PHP
ฉันต้องการรู้ว่าอะไรคือวิธีที่ดีที่สุดในการเปรียบเทียบสคริปต์ PHP ของฉัน ไม่สำคัญว่างาน cron หรือเว็บเพจหรือบริการบนเว็บ ฉันรู้ว่าฉันสามารถใช้ microtime ได้ แต่มันทำให้ฉันได้รับสคริปต์ PHP แบบเรียลไทม์หรือไม่ ฉันต้องการทดสอบและเปรียบเทียบฟังก์ชั่นมาตรฐานใน PHP ที่ทำสิ่งเดียวกัน ตัวอย่างเช่นpreg_matchvs strposหรือdomdocumentvs preg_matchหรือ preg_replace vs str_replace` ตัวอย่างของหน้าเว็บ: <?php // login.php $start_time = microtime(TRUE); session_start(); // do all my logic etc... $end_time = microtime(TRUE); echo $end_time - $start_time; สิ่งนี้จะแสดงผล: 0.0146126717 (เปลี่ยนแปลงตลอดเวลา - แต่นั่นคืออันสุดท้ายที่ฉันได้รับ) ซึ่งหมายความว่าใช้เวลา 0.015 หรือมากกว่านั้นในการรันสคริปต์ …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.