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

สำหรับคำถามที่เกี่ยวข้องกับการวัดหรือปรับปรุงรหัสและประสิทธิภาพการใช้งาน

30
Array หรือ List ใน Java ไหนเร็วกว่ากัน
ฉันต้องเก็บหลายพันสายในหน่วยความจำเพื่อให้สามารถเข้าถึงได้ใน Java ฉันควรเก็บไว้ในอาร์เรย์หรือฉันควรใช้รายการบางประเภท? เนื่องจากอาร์เรย์เก็บข้อมูลทั้งหมดไว้ในหน่วยความจำที่ต่อเนื่องกัน (ซึ่งแตกต่างจากรายการ) การใช้อาร์เรย์เพื่อเก็บสตริงหลายพันรายการจะทำให้เกิดปัญหาหรือไม่
351 java  arrays  list  performance 

4
รายการฟังก์ชั่น Big-O สำหรับ PHP
หลังจากใช้ PHP มาระยะหนึ่งผมสังเกตว่าฟังก์ชั่น PHP ในตัวบางตัวนั้นไม่เร็วเท่าที่ควร พิจารณาการประยุกต์ใช้ที่เป็นไปได้ทั้งสองอย่างของฟังก์ชั่นที่ค้นหาว่าตัวเลขนั้นสำคัญเพียงใดโดยใช้อาเรย์แคชของช่วงเวลา //very slow for large $prime_array $prime_array = array( 2, 3, 5, 7, 11, 13, .... 104729, ... ); $result_array = array(); foreach( $prime_array => $number ) { $result_array[$number] = in_array( $number, $large_prime_array ); } //speed is much less dependent on size of $prime_array, and …

30
ใน. NET วงใดทำงานเร็วกว่า 'for' หรือ 'foreach'
ใน C # / VB.NET / .NET ซึ่งห่วงทำงานได้เร็วขึ้นforหรือforeach? นับตั้งแต่ฉันอ่านว่าforลูปทำงานได้เร็วกว่าforeachลูปเมื่อนานมาแล้วฉันถือว่ามันเป็นจริงสำหรับคอลเลกชันทั้งหมดคอลเลกชันทั่วไปอาร์เรย์ทั้งหมด ฯลฯ ฉันเฆี่ยนตี Google และพบบทความไม่กี่บทความ แต่ส่วนใหญ่ยังสรุปไม่ได้ (อ่านความคิดเห็นเกี่ยวกับบทความ) และสิ้นสุดวันที่เปิด สิ่งที่จะเหมาะคือการแสดงรายการแต่ละสถานการณ์และทางออกที่ดีที่สุดสำหรับเรื่องเดียวกัน ตัวอย่างเช่น (เป็นเพียงตัวอย่างว่าควรจะเป็นอย่างไร): สำหรับการวนซ้ำสตริงที่forมีมากกว่า1,000 รายการจะดีกว่าforeach สำหรับการวนซ้ำIListสตริง (ไม่ใช่ทั่วไป) - foreachดีกว่าfor พบการอ้างอิงบางอย่างบนเว็บสำหรับสิ่งเดียวกัน: ต้นฉบับบทความเก่าแก่ที่ยิ่งใหญ่โดย Emmanuel Schanzer CodeProject เทียบกับ FOREACH สำหรับ บล็อก - เพื่อforeachหรือไม่foreachนั่นคือคำถาม ฟอรัม ASP.NET - NET 1.1 C # forกับforeach [แก้ไข] นอกจากความสามารถในการอ่านของมันฉันยังสนใจในข้อเท็จจริงและตัวเลข มีแอพพลิเคชั่นที่การบีบอัดประสิทธิภาพการทำงานให้มีประสิทธิภาพ
345 c#  .net  performance  for-loop 

12
วิธีที่ดีที่สุดในการเลือกแถวสุ่ม PostgreSQL
ฉันต้องการสุ่มเลือกแถวใน PostgreSQL ฉันลองทำสิ่งนี้: select * from table where random() < 0.01; แต่บางคนก็แนะนำสิ่งนี้: select * from table order by random() limit 1000; ฉันมีตารางขนาดใหญ่มากที่มีแถว 500 ล้านแถวฉันต้องการให้มันเร็ว วิธีไหนดีกว่ากัน อะไรคือความแตกต่าง? วิธีที่ดีที่สุดในการเลือกแถวแบบสุ่มคืออะไร


11
วิธีที่มีประสิทธิภาพมากที่สุดในการทำแผนที่ฟังก์ชั่นผ่านอาร์เรย์ที่มีจำนวนมาก
เป็นวิธีที่มีประสิทธิภาพที่สุดในการแมปฟังก์ชั่นมากกว่าอาร์เรย์ numpy คืออะไร? วิธีที่ฉันทำในโครงการปัจจุบันของฉันมีดังนี้: import numpy as np x = np.array([1, 2, 3, 4, 5]) # Obtain array of square of each element in x squarer = lambda t: t ** 2 squares = np.array([squarer(xi) for xi in x]) อย่างไรก็ตามดูเหมือนว่ามันอาจจะไม่มีประสิทธิภาพมากนักเนื่องจากฉันใช้ list comprehension เพื่อสร้าง array ใหม่เป็นรายการ Python ก่อนที่จะแปลงกลับไปเป็น array numpy เราทำได้ดีกว่านี้ไหม

21
คุณทดสอบโค้ด JavaScript ได้อย่างไร
รอบ CPU, การใช้หน่วยความจำ, เวลาดำเนินการ ฯลฯ ? เพิ่มเติม: มีวิธีการเชิงปริมาณของการทดสอบประสิทธิภาพใน JavaScript นอกเหนือจากการรับรู้ว่าโค้ดรันเร็วแค่ไหน?


12
วิธีที่ดีที่สุดในการทดสอบว่าแถวมีอยู่ในตาราง MySQL หรือไม่
ฉันพยายามค้นหาว่ามีแถวในตารางหรือไม่ การใช้ MySQL จะดีกว่าไหมถ้าทำเคียวรีเช่นนี้ SELECT COUNT(*) AS total FROM table1 WHERE ... และตรวจสอบเพื่อดูว่ายอดรวมไม่เป็นศูนย์หรือดีกว่าที่จะทำแบบสอบถามเช่นนี้: SELECT * FROM table1 WHERE ... LIMIT 1 และตรวจสอบเพื่อดูว่ามีการส่งคืนแถวหรือไม่ ในแบบสอบถามทั้งสองข้อ WHERE ใช้ดัชนี
337 sql  mysql  performance  exists 

17
ประกาศหลายตัวแปรใน JavaScript
ใน JavaScript เป็นไปได้ที่จะประกาศตัวแปรหลายอย่างดังนี้: var variable1 = "Hello World!"; var variable2 = "Testing..."; var variable3 = 42; ... หรือเช่นนี้ var variable1 = "Hello World!", variable2 = "Testing...", variable3 = 42; วิธีหนึ่งดีกว่า / เร็วกว่าวิธีอื่นหรือไม่?

10
ประหลาดใจกับประสิทธิภาพด้วย“ as” และประเภท nullable
ฉันเพิ่งแก้ไขบทที่ 4 ของ C # ในความลึกซึ่งเกี่ยวข้องกับประเภท nullable และฉันเพิ่มส่วนที่เกี่ยวกับการใช้ตัวดำเนินการ "เป็น" ซึ่งช่วยให้คุณเขียน: object o = ...; int? x = o as int?; if (x.HasValue) { ... // Use x.Value in here } ฉันคิดว่านี่เป็นระเบียบจริงๆและมันสามารถปรับปรุงประสิทธิภาพมากกว่า C # 1 ที่เทียบเท่าโดยใช้ "คือ" ตามด้วยนักแสดง - หลังจากทั้งหมดด้วยวิธีนี้เราเพียงแค่ต้องขอการตรวจสอบประเภทแบบไดนามิกครั้งเดียวแล้วตรวจสอบค่าง่าย ๆ . เรื่องนี้ดูเหมือนจะไม่เป็นอย่างนั้น ฉันได้รวมแอปทดสอบตัวอย่างด้านล่างซึ่งโดยทั่วไปจะรวมจำนวนเต็มทั้งหมดภายในอาร์เรย์วัตถุ - แต่อาร์เรย์นั้นมีการอ้างอิง null และการอ้างอิงสตริงจำนวนมากรวมถึงจำนวนเต็มชนิดบรรจุกล่อง มาตรฐานวัดรหัสที่คุณต้องใช้ใน C # …

9
คุณสมบัติด้านประสิทธิภาพของ sqlite พร้อมไฟล์ฐานข้อมูลขนาดใหญ่มาก ๆ คืออะไร? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันรู้ว่า sqlite ทำงานได้ไม่ดีกับไฟล์ฐานข้อมูลที่มีขนาดใหญ่มากแม้ว่าจะได้รับการสนับสนุน (เคยมีความคิดเห็นในเว็บไซต์ sqlite ที่ระบุว่าหากคุณต้องการขนาดไฟล์ที่สูงกว่า 1GB คุณอาจต้องการพิจารณาใช้ rdbms ระดับองค์กร ไม่พบอีกต่อไปอาจเกี่ยวข้องกับ SQL เวอร์ชันเก่ากว่า) อย่างไรก็ตามเพื่อจุดประสงค์ของฉันฉันต้องการทราบว่ามันเลวร้ายเพียงใดก่อนที่ฉันจะพิจารณาโซลูชันอื่น ๆ ฉันกำลังพูดถึงไฟล์ข้อมูล sqlite ในช่วงหลายกิกะไบต์ตั้งแต่ 2GB เป็นต้นไป ใครมีประสบการณ์กับสิ่งนี้บ้าง เคล็ดลับ / ความคิดใด ๆ

22
วิธีที่เร็วที่สุดในการรับค่าของπคืออะไร?
ฉันกำลังมองหาวิธีที่เร็วที่สุดที่จะได้รับคุณค่าของπซึ่งเป็นความท้าทายส่วนบุคคล โดยเฉพาะอย่างยิ่งฉันใช้วิธีการที่ไม่เกี่ยวข้องกับการใช้#defineค่าคงที่เช่นM_PIหรือเข้ารหัสตัวเลขอย่างหนัก โปรแกรมด้านล่างทดสอบวิธีต่างๆที่ฉันรู้ ในทางทฤษฎีแล้วแอสเซมบลีไลน์อินเวอร์ชั่นคือตัวเลือกที่เร็วที่สุดแม้ว่าจะไม่สามารถพกพาได้อย่างชัดเจน ฉันได้รวมมันเป็นพื้นฐานในการเปรียบเทียบกับรุ่นอื่น ในการทดสอบของฉันด้วยบิวด์อิน4 * atan(1)รุ่นนั้นเร็วที่สุดใน GCC 4.2 เพราะมันจะพับatan(1)ให้เป็นค่าคงที่โดยอัตโนมัติ หาก-fno-builtinระบุไว้atan2(0, -1)เวอร์ชันจะเร็วที่สุด นี่คือโปรแกรมทดสอบหลัก ( pitimes.c): #include <math.h> #include <stdio.h> #include <time.h> #define ITERS 10000000 #define TESTWITH(x) { \ diff = 0.0; \ time1 = clock(); \ for (i = 0; i < ITERS; ++i) \ diff += (x) - …

7
MySQL กับ MongoDB 1,000 อ่าน
ฉันตื่นเต้นเป็นอย่างมากกับ MongoDb และได้ทำการทดสอบเมื่อไม่นานมานี้ ฉันมีตารางที่เรียกว่าโพสต์ใน MySQL ที่มีประมาณ 20 ล้านบันทึกการจัดทำดัชนีเฉพาะในเขตข้อมูลที่เรียกว่า 'id' ฉันต้องการเปรียบเทียบความเร็วกับ MongoDB และฉันทดสอบซึ่งจะได้รับและพิมพ์ 15 รายการแบบสุ่มจากฐานข้อมูลขนาดใหญ่ของเรา ฉันใช้แบบสอบถามประมาณ 1,000 ครั้งสำหรับ mysql และ MongoDB และฉันประหลาดใจที่ฉันไม่ได้สังเกตเห็นความแตกต่างของความเร็ว บางที MongoDB อาจเร็วขึ้น 1.1 เท่า มันน่าผิดหวังมาก มีบางอย่างที่ฉันทำผิดหรือเปล่า? ฉันรู้ว่าการทดสอบของฉันไม่สมบูรณ์แบบ แต่ MySQL นั้นเทียบเท่ากับ MongoDb เมื่อพูดถึงการอ่านงานบ้านที่เข้มข้น บันทึก: ฉันมี dual core + (2 กระทู้) i7 cpu และ 4GB ram ฉันมีพาร์ติชั่นบน MySQL จำนวน 20 …

8
วิธีที่เร็วที่สุดในการอ่านไฟล์ข้อความแบบบรรทัดต่อบรรทัดคืออะไร
ฉันต้องการอ่านไฟล์ข้อความทีละบรรทัด ฉันต้องการทราบว่าฉันทำอย่างมีประสิทธิภาพมากที่สุดเท่าที่จะทำได้ภายในขอบเขต. NET C # ของสิ่งต่าง ๆ นี่คือสิ่งที่ฉันพยายาม: var filestream = new System.IO.FileStream(textFilePath, System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.ReadWrite); var file = new System.IO.StreamReader(filestream, System.Text.Encoding.UTF8, true, 128); while ((lineOfText = file.ReadLine()) != null) { //Do something with the lineOfText }

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