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

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

9
Android Recyclerview เทียบกับ ListView กับผู้ดู
ฉันเพิ่งเจอ android RecyclerViewที่เปิดตัวพร้อมกับ Android 5.0 และดูเหมือนว่าRecyclerViewเป็นแบบดั้งเดิมที่ห่อหุ้มListViewด้วยรูปแบบ ViewHolder ที่รวมอยู่ในนั้นซึ่งส่งเสริมการนำมาใช้ใหม่ของมุมมองแทนที่จะสร้างเป็นทุกครั้ง ประโยชน์อื่น ๆ ของการใช้RecyclerViewคืออะไร? หากทั้งคู่มีผลเหมือนกันในแง่ของประสิทธิภาพเหตุใดจึงเลือกใช้ RecyclerView` แก้ไข ฉันพบว่าผู้คนได้ถามคำถามที่คล้ายกันและคำตอบไม่ได้ข้อสรุปเพิ่มพวกเขาที่นี่เพื่อเก็บบันทึก Recyclerview เทียบกับ Listview เราควรใช้ RecyclerView เพื่อแทนที่ ListView หรือไม่ ทำไม RecyclerView ไม่มี onItemClickListener () และ RecyclerView แตกต่างจาก Listview อย่างไร

5
ทำไม arr = [] เร็วกว่า arr = new Array
ฉันรันรหัสนี้และได้ผลลัพธ์ด้านล่าง ฉันอยากรู้ว่าทำไม[]เร็วขึ้น console.time('using[]') for(var i=0; i<200000; i++){var arr = []}; console.timeEnd('using[]') console.time('using new') for(var i=0; i<200000; i++){var arr = new Array}; console.timeEnd('using new') ใช้[]: 299ms ใช้new: 363 มิลลิวินาที ขอบคุณRaynosที่นี่เป็นเกณฑ์มาตรฐานของรหัสนี้และวิธีที่เป็นไปได้ในการกำหนดตัวแปร

10
การควบคุม fps ด้วย requestAnimationFrame?
ดูเหมือนว่าrequestAnimationFrameจะเป็นวิธีการทำให้สิ่งต่างๆเคลื่อนไหวโดยพฤตินัยแล้ว มันทำงานได้ดีสำหรับฉันเป็นส่วนใหญ่ แต่ตอนนี้ฉันกำลังพยายามทำแอนิเมชั่นแคนวาสและฉันสงสัยว่า: มีวิธีใดบ้างที่จะทำให้แน่ใจว่ามันทำงานที่เฟรมต่อวินาที? ฉันเข้าใจว่าจุดประสงค์ของ RAF คือเพื่อให้ภาพเคลื่อนไหวที่ราบรื่นสม่ำเสมอและฉันอาจเสี่ยงต่อการทำให้แอนิเมชั่นขาด ๆ หาย ๆ แต่ตอนนี้ดูเหมือนว่าจะทำงานด้วยความเร็วที่แตกต่างกันอย่างมากโดยพลการและฉันสงสัยว่ามีวิธีต่อสู้หรือไม่ อย่างนั้น ฉันจะใช้setIntervalแต่ฉันต้องการการเพิ่มประสิทธิภาพที่ rAF เสนอ (โดยเฉพาะหยุดโดยอัตโนมัติเมื่อแท็บอยู่ในโฟกัส) ในกรณีที่มีคนต้องการดูรหัสของฉันมันค่อนข้างมาก: animateFlash: function() { ctx_fg.clearRect(0,0,canvasWidth,canvasHeight); ctx_fg.fillStyle = 'rgba(177,39,116,1)'; ctx_fg.strokeStyle = 'none'; ctx_fg.beginPath(); for(var i in nodes) { nodes[i].drawFlash(); } ctx_fg.fill(); ctx_fg.closePath(); var instance = this; var rafID = requestAnimationFrame(function(){ instance.animateFlash(); }) var unfinishedNodes = …

30
การมองโลกในแง่ร้ายที่ไร้สาระที่สุดคืออะไร [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา เราทุกคนรู้ว่าการเพิ่มประสิทธิภาพก่อนวัยอันควรเป็นรากฐานของความชั่วร้ายทั้งหมดเพราะมันนำไปสู่รหัสที่อ่านไม่ได้ / ไม่สามารถทำได้ ยิ่งแย่ลงคือการมองดูในแง่ร้ายเมื่อมีคนใช้ "การเพิ่มประสิทธิภาพ" เพราะพวกเขาคิดว่ามันจะเร็วขึ้น แต่มันก็ช้าลงเรื่อย ๆ ?

8
อาร์เรย์กับประสิทธิภาพของวัตถุใน JavaScript
ฉันมีแบบจำลองที่มีวัตถุหลายพันรายการ ฉันสงสัยว่าสิ่งใดจะเป็นวิธีที่มีประสิทธิภาพมากที่สุดในการจัดเก็บและเรียกคืนวัตถุเดียวเมื่อฉันมีรหัส ID เป็นตัวเลขที่ยาว ดังนั้นนี่คือ 2 ตัวเลือกที่ฉันคิด ในตัวเลือกที่หนึ่งมันเป็นอาร์เรย์ที่เรียบง่ายพร้อมดัชนีที่เพิ่มขึ้น ในตัวเลือกที่ 2 มันคืออาเรย์แบบเชื่อมโยงและอาจเป็นวัตถุถ้ามันสร้างความแตกต่าง คำถามของฉันคือที่หนึ่งมีประสิทธิภาพมากขึ้นเมื่อฉันต้องการดึงวัตถุเดียวส่วนใหญ่ แต่บางครั้งก็วนผ่านพวกเขาและเรียงลำดับ ตัวเลือกที่หนึ่งกับอาร์เรย์ที่ไม่เชื่อมโยง: var a = [{id: 29938, name: 'name1'}, {id: 32994, name: 'name1'}]; function getObject(id) { for (var i=0; i < a.length; i++) { if (a[i].id == id) return a[i]; } } ตัวเลือกที่สองกับอาเรย์แบบเชื่อมโยง: var a = []; // …

2
คณิตศาสตร์ที่รวดเร็วของ gcc ทำอะไรได้จริง?
ฉันเข้าใจว่าการ--ffast-mathตั้งค่าสถานะของ gcc สามารถเพิ่มความเร็วได้อย่างมากสำหรับ ops แบบลอยตัวและออกไปนอกมาตรฐาน IEEE แต่ฉันไม่สามารถหาข้อมูลเกี่ยวกับสิ่งที่เกิดขึ้นจริงได้เมื่อเปิดใช้งาน ใครช่วยกรุณาอธิบายรายละเอียดบางอย่างและอาจให้ตัวอย่างที่ชัดเจนว่าจะมีการเปลี่ยนแปลงอย่างไรถ้าธงเปิดหรือปิด? ฉันพยายามขุดผ่าน SO สำหรับคำถามที่คล้ายกัน แต่ไม่สามารถหาอะไรอธิบายการทำงานของคณิตศาสตร์ได้อย่างรวดเร็ว

3
ประสิทธิภาพของ foreach, array_map พร้อม lambda และ array_map พร้อมฟังก์ชั่นคงที่
ความแตกต่างของประสิทธิภาพ (ถ้ามี) ระหว่างวิธีการทั้งสามวิธีนี้ทั้งสองใช้เพื่อแปลงอาร์เรย์เป็นอาร์เรย์อื่นได้อย่างไร การใช้ foreach ใช้array_mapกับแลมบ์ดา / ปิดฟังก์ชั่น ใช้array_mapกับฟังก์ชั่น / วิธีการแบบคงที่ มีวิธีอื่นอีกไหม? เพื่อทำให้ตัวเองชัดเจนลองดูตัวอย่างทั้งหมดทำแบบเดียวกัน - คูณอาร์เรย์ของตัวเลขด้วย 10: $numbers = range(0, 1000); แต่ละ $result = array(); foreach ($numbers as $number) { $result[] = $number * 10; } return $result; แผนที่กับแลมบ์ดา return array_map(function($number) { return $number * 10; }, $numbers); แผนที่ด้วยฟังก์ชั่น 'คงที่' ส่งผ่านเป็นการอ้างอิงสตริง …

4
ByteBuffer.allocate () กับ ByteBuffer.allocateDirect ()
ถึงallocate()หรือallocateDirect()นั่นคือคำถาม เป็นเวลาหลายปีตอนนี้ฉันติดอยู่เพียงแค่ความคิดที่ว่าตั้งแต่DirectByteBuffers มีการทำแผนที่หน่วยความจำโดยตรงในระดับ OS, ว่าจะดำเนินการได้เร็วขึ้นด้วยการรับ / วางสายกว่าHeapByteBuffers ฉันไม่เคยสนใจที่จะหารายละเอียดที่แน่นอนเกี่ยวกับสถานการณ์จนถึงปัจจุบัน ฉันต้องการทราบว่าByteBuffers สองประเภทใดที่เร็วและเงื่อนไขอะไร

14
ทำไม require_once แย่มากที่จะใช้
ทุกอย่างที่ฉันอ่านเกี่ยวกับการเขียนโค้ด PHP ที่ดีขึ้นนั้นบอกว่าอย่าใช้require_onceเพราะความเร็ว ทำไมนี้ วิธีที่เหมาะสม / ดีกว่าที่จะทำสิ่งเดียวกันrequire_onceคืออะไร? หากเป็นเรื่องสำคัญฉันกำลังใช้ PHP 5

13
ข้อยกเว้น. NET มีความช้าเพียงใด
ฉันไม่ต้องการการสนทนาเกี่ยวกับเวลาและไม่โยนข้อยกเว้น ฉันต้องการแก้ไขปัญหาที่เรียบง่าย 99% ของเวลาที่การโต้เถียงไม่โยนข้อยกเว้นหมุนรอบตัวพวกเขาช้าในขณะที่อีกฝ่ายอ้างว่า (ด้วยการทดสอบเกณฑ์มาตรฐาน) ว่าความเร็วไม่ใช่ปัญหา ฉันได้อ่านบล็อกบทความและโพสต์มากมายที่เกี่ยวข้องกับด้านใดด้านหนึ่ง แล้วมันคืออะไร? การเชื่อมโยงจากการตอบ: เป้าบิน , Mariani , Brumme

11
วิธีที่เร็วที่สุดในการตรวจสอบว่ามีบันทึกอยู่หรือไม่
ตามที่ชื่อแนะนำ ... ฉันกำลังพยายามหาวิธีที่เร็วที่สุดโดยมีค่าใช้จ่ายน้อยที่สุดเพื่อดูว่ามีระเบียนอยู่ในตารางหรือไม่ แบบสอบถามตัวอย่าง: SELECT COUNT(*) FROM products WHERE products.id = ?; vs SELECT COUNT(products.id) FROM products WHERE products.id = ?; vs SELECT products.id FROM products WHERE products.id = ?; สมมติว่า?มีการสลับกับ'TB100'... ทั้งแบบสอบถามที่หนึ่งและที่สองจะส่งกลับผลลัพธ์เดียวกัน (พูดว่า ... 1สำหรับการสนทนานี้) แบบสอบถามล่าสุดจะส่งคืน'TB100'ตามที่คาดไว้หรือไม่มีสิ่งใดหากidไม่มีอยู่ในตาราง จุดประสงค์คือการคิดออกว่าidอยู่ในตารางหรือไม่ มิฉะนั้นโปรแกรมจะแทรกเร็กคอร์ดต่อไปถ้าเป็นเช่นนั้นโปรแกรมจะข้ามหรือดำเนินการค้นหา UPDATE ตามตรรกะของโปรแกรมอื่นที่อยู่นอกขอบเขตของคำถามนี้ ไหนเร็วกว่าและมีค่าใช้จ่ายน้อยลง (ซึ่งจะถูกทำซ้ำหลายหมื่นครั้งต่อการรันโปรแกรมและจะทำงานหลายครั้งต่อวัน) (การรันเคียวรีนี้เทียบกับ M $ SQL Server จาก Java ผ่านทาง …

13
ฉันจะทำให้ Windows ทำงานเร็วเท่ากับ Linux สำหรับการคอมไพล์ C ++ ได้อย่างไร
ฉันรู้ว่านี่ไม่ใช่คำถามการเขียนโปรแกรม แต่มีความเกี่ยวข้อง ผมทำงานในธรรมโครงการแพลตฟอร์มขนาดใหญ่ข้าม ใน Windows ฉันใช้ VC ++ 2008 บน Linux ฉันใช้ gcc มีไฟล์ประมาณ 40k ในโครงการ Windows ช้ากว่า Linux 10 เท่าถึง 10 เท่าในการคอมไพล์และเชื่อมโยงโครงการเดียวกัน ฉันจะแก้ไขได้อย่างไร การเปลี่ยนแปลงที่เพิ่มขึ้นครั้งเดียวสร้าง 20 วินาทีบน Linux และ> 3 นาทีบน Windows ทำไม? ฉันยังสามารถติดตั้งตัวเชื่อมโยง 'gold' ใน Linux และลดเวลาลงเหลือ 7 วินาที git ในทำนองเดียวกันนั้นเร็วกว่า 10x ถึง 40x บน Linux มากกว่า Windows ในกรณี …

22
วิธีที่มีประสิทธิภาพมากที่สุดในการค้นหาปัจจัยทั้งหมดของตัวเลขใน Python คืออะไร?
บางคนสามารถอธิบายวิธีที่มีประสิทธิภาพในการค้นหาปัจจัยทั้งหมดของตัวเลขใน Python (2.7) ให้ฉันได้ไหม ฉันสามารถสร้างอัลกอริทึมเพื่อทำสิ่งนี้ แต่ฉันคิดว่ามันเป็นรหัสที่ไม่ดีและใช้เวลานานเกินไปในการสร้างผลลัพธ์สำหรับจำนวนมาก

8
การใช้ if-return-return หรือ if-else-return นั้นมีประสิทธิภาพมากกว่าหรือไม่
สมมติว่าผมมีคำสั่งด้วยif returnจากมุมมองประสิทธิภาพฉันควรใช้ if(A > B): return A+1 return A-1 หรือ if(A > B): return A+1 else: return A-1 ฉันควรจะเลือกภาษาใดภาษาหนึ่งเมื่อใช้ภาษาที่รวบรวม (C) หรือภาษาสคริปต์ (Python)

12
คลาสที่ปิดผนึกมีประโยชน์ด้านประสิทธิภาพหรือไม่?
ฉันได้พบกับเคล็ดลับการเพิ่มประสิทธิภาพจำนวนมากที่บอกว่าคุณควรทำเครื่องหมายคลาสของคุณเป็นผนึกเพื่อรับสิทธิประโยชน์เพิ่มเติม ฉันทำการทดสอบเพื่อตรวจสอบความแตกต่างของประสิทธิภาพและไม่พบสิ่งใดเลย ฉันกำลังทำอะไรผิดหรือเปล่า? ฉันไม่มีกรณีที่คลาสที่ปิดผนึกจะให้ผลลัพธ์ที่ดีกว่าหรือไม่ มีใครทำการทดสอบและเห็นความแตกต่าง? ช่วยฉันเรียนรู้ :)

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