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

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

5
ประสิทธิภาพ CSS เทียบกับ translateZ (0)
บล็อกจำนวนมากแสดงให้เห็นถึงประสิทธิภาพที่เพิ่มขึ้นในการ 'หลอกล่อ' GPU ให้คิดว่าองค์ประกอบนั้นเป็น 3 มิติโดยใช้transform: translateZ(0)เพื่อเร่งความเร็วของภาพเคลื่อนไหวและการเปลี่ยนภาพ ฉันสงสัยว่ามีผลต่อการใช้การแปลงนี้ในลักษณะต่อไปนี้หรือไม่: * { -webkit-transform: translateZ(0); -moz-transform: translateZ(0); -ms-transform: translateZ(0); -o-transform: translateZ(0); transform: translateZ(0); }

4
ความซับซ้อนของเวลาของอัลกอริทึม Sieve of Eratosthenes
จากWikipedia: ความซับซ้อนของอัลกอริทึมคือ O(n(logn)(loglogn))การดำเนินการแบบบิต คุณมาถึงจุดนั้นได้อย่างไร? ความซับซ้อนรวมถึงloglognคำที่บอกฉันว่ามีsqrt(n)ที่ไหนสักแห่ง สมมติว่าฉันใช้ตะแกรงกับตัวเลข 100 ตัวแรก ( n = 100) โดยสมมติว่าการทำเครื่องหมายตัวเลขเป็นแบบผสมต้องใช้เวลาคงที่ (การใช้อาร์เรย์) จำนวนครั้งที่เราใช้mark_composite()จะเป็นดังนี้ n/2 + n/3 + n/5 + n/7 + ... + n/97 = O(n^2) และเพื่อหาตัวเลขที่สำคัญถัดไป (เช่นการกระโดด7ข้ามจากตัวเลขทั้งหมดที่มีหลายรายการ5) O(n)จำนวนของการดำเนินงานจะเป็น O(n^3)ดังนั้นความซับซ้อนจะเป็น คุณเห็นด้วยไหม?

6
iterrows แพนด้ามีปัญหาด้านประสิทธิภาพหรือไม่?
ฉันสังเกตเห็นประสิทธิภาพที่แย่มากเมื่อใช้ iterrows จากแพนด้า นี่คือสิ่งที่เป็นประสบการณ์ของผู้อื่นหรือไม่? มันเฉพาะเจาะจงสำหรับ iterrows และควรหลีกเลี่ยงฟังก์ชั่นนี้สำหรับข้อมูลบางขนาด (ฉันกำลังทำงานกับ 2-3 ล้านแถว) การสนทนาเกี่ยวกับ GitHub นี้ทำให้ฉันเชื่อว่าเกิดจากการผสม dtypes ใน dataframe แต่ตัวอย่างง่ายๆด้านล่างแสดงให้เห็นว่ามีอยู่แม้จะใช้ dtype เดียว (float64) ใช้เวลา 36 วินาทีบนเครื่องของฉัน: import pandas as pd import numpy as np import time s1 = np.random.randn(2000000) s2 = np.random.randn(2000000) dfa = pd.DataFrame({'s1': s1, 's2': s2}) start = time.time() i=0 for …

5
จุดประสงค์ของการลงทะเบียนตัวชี้เฟรม EBP คืออะไร?
ฉันเป็นมือใหม่ในภาษาแอสเซมบลีและสังเกตว่าโค้ด x86 ที่คอมไพเลอร์ปล่อยออกมามักจะทำให้ตัวชี้เฟรมอยู่รอบ ๆ แม้ในโหมดรีลีส / ปรับให้เหมาะสมเมื่อสามารถใช้EBPรีจิสเตอร์สำหรับอย่างอื่นได้ ฉันเข้าใจว่าเหตุใดตัวชี้เฟรมจึงทำให้โค้ดดีบักง่ายขึ้นและอาจจำเป็นหากalloca()ถูกเรียกใช้ภายในฟังก์ชัน อย่างไรก็ตาม x86 มีรีจิสเตอร์น้อยมากและใช้สองตัวเพื่อยึดตำแหน่งของสแต็กเฟรมเมื่ออันเดียวไม่สมเหตุสมผลสำหรับฉัน เหตุใดการละเว้นตัวชี้เฟรมจึงถือเป็นความคิดที่ไม่ดีแม้ในรุ่นที่ปรับให้เหมาะสม / ปล่อย

7
คุณทดสอบเวลาทำงานของรหัส VBA ได้อย่างไร?
มีโค้ดใน VBA หรือไม่ที่ฉันสามารถรวมฟังก์ชั่นที่จะแจ้งให้ฉันทราบเวลาที่ใช้ในการทำงานเพื่อที่ฉันจะได้เปรียบเทียบเวลาทำงานที่แตกต่างกันของฟังก์ชันได้หรือไม่

10
Visual Studio 2017 ช้าเกินไปในระหว่างการสร้างและการดีบัก
ฉันเพิ่งติดตั้งVisual Studio 2017บนพีซีที่มีคุณสมบัติดังต่อไปนี้: Intel Xeon ผลิตภัณฑ์ E5-1600 v3 @ ประมวลผล 3.50 GHz, RAM 16 GB และ Windows 10 Pro ระบบปฏิบัติการ แม้ว่าประสิทธิภาพของพีซีจะเกือบสมบูรณ์แบบ แต่ฉันมักจะพบปัญหาความช้าในVisual Studio 2017โดยเฉพาะในระหว่างกระบวนการสร้างและดีบัก นอกจากนี้บางครั้งผมต้องเริ่มต้นใหม่ได้หลังจากที่"ไม่ตอบ"ข้อความ มีวิธีแก้ไขที่เสถียรสำหรับปัญหานี้สำหรับVisual Studio 2017หรือไม่ ..

5
ควรใช้ Github เป็น CDN สำหรับไลบรารี javascript หรือไม่ [ปิด]
ตามที่กล่าวมาในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา การให้บริการไลบรารี javascript จาก CDN แทนที่จะเป็นเซิร์ฟเวอร์ของคุณเองนั้นมาพร้อมกับข้อดีมากมาย ทำงานน้อยลงสำหรับเซิร์ฟเวอร์ของคุณมีความเป็นไปได้ที่ CDN จะมีสำเนาใกล้ชิดกับผู้ใช้มากกว่าเซิร์ฟเวอร์ของคุณ แต่ที่สำคัญที่สุดคือโอกาสที่ดีที่เบราว์เซอร์ของผู้ใช้ของคุณจะมีแคชจาก URL นั้นอยู่แล้ว ข้อสุดท้ายหมายถึงการทำงานโดยรวมน้อยลงสำหรับทุกคนดังนั้นจึงเป็นการชนะอย่างชัดเจนและมีแนวโน้มว่าบ่อยครั้งที่เรา (นักพัฒนาซอฟต์แวร์) พึ่งพา CDN เพื่อให้บริการจาวาสคริปต์ของเรา แต่จาวาสคริปต์ CDN ที่เป็นที่นิยม (Google, Microsoft, อื่น ๆ ?) จะโฮสต์ไฟล์เพียงเล็กน้อยเท่านั้น สำหรับคนอื่น ๆ เรามีทางเลือกในการโฮสต์พวกเขาเองหรือ ... โดยใช้เซิร์ฟเวอร์ควบคุมต้นทางเป็น CDN ชนิดหนึ่ง Github หรือสิ่งที่คล้ายกันนั้นไม่น่าจะมีแคชของไฟล์ที่กระจายทางภูมิศาสตร์ซึ่งเหมาะสำหรับการให้บริการทั่วโลก แต่ถ้าเป็นเรื่องธรรมดาก็มีโอกาสดีที่เบราว์เซอร์ของผู้ใช้จะแคชไว้ ข้อโต้แย้งของการปิดการโหลดงานจากเซิร์ฟเวอร์ของเราไปยัง github จะใช้ได้ก็ต่อเมื่อ Github เต็มใจที่จะอาสาทำ เป็นเรื่องธรรมดาหรือไม่? เราควรสนับสนุนให้กันและกันทำสิ่งนี้หรือไม่? …

6
แบบสอบถาม Entity Framework ช้า แต่ SQL เดียวกันใน SqlQuery นั้นเร็ว
ฉันเห็นความสมบูรณ์แบบแปลก ๆ ที่เกี่ยวข้องกับแบบสอบถามที่เรียบง่ายมากโดยใช้ Entity Framework Code-First กับ. NET framework เวอร์ชัน 4 แบบสอบถาม LINQ2Entities มีลักษณะดังนี้: context.MyTables.Where(m => m.SomeStringProp == stringVar); ซึ่งใช้เวลามากกว่า 3,000 มิลลิวินาทีในการดำเนินการ SQL ที่สร้างขึ้นนั้นดูเรียบง่ายมาก: SELECT [Extent1].[ID], [Extent1].[SomeStringProp], [Extent1].[SomeOtherProp], ... FROM [MyTable] as [Extent1] WHERE [Extent1].[SomeStringProp] = '1234567890' แบบสอบถามนี้ทำงานเกือบจะทันทีเมื่อเรียกใช้ผ่าน Management Studio เมื่อฉันเปลี่ยนรหัส C # เพื่อใช้ฟังก์ชัน SqlQuery มันจะทำงานใน 5-10 มิลลิวินาที: context.MyTables.SqlQuery("SELECT [Extent1].[ID] …

16
แนวทางปฏิบัติที่ดีที่สุดในการส่งผ่านข้อโต้แย้งไปยังวิธีการ?
ในบางครั้งเราต้องเขียนวิธีการที่ได้รับข้อโต้แย้งมากมายตัวอย่างเช่น: public void doSomething(Object objA , Object objectB ,Date date1 ,Date date2 ,String str1 ,String str2 ) { } เมื่อฉันพบปัญหาประเภทนี้ฉันมักจะรวมข้อโต้แย้งไว้ในแผนที่ Map<Object,Object> params = new HashMap<Object,Object>(); params.put("objA",ObjA) ; ...... public void doSomething(Map<Object,Object> params) { // extracting params Object objA = (Object)params.get("objA"); ...... } นี่ไม่ใช่แนวทางปฏิบัติที่ดีการห่อหุ้มพารามิเตอร์ลงในแผนที่เป็นการสิ้นเปลืองประสิทธิภาพโดยสิ้นเชิง สิ่งที่ดีคือลายเซ็นที่สะอาดง่ายต่อการเพิ่มพารามิเตอร์อื่น ๆ โดยมีการปรับเปลี่ยนน้อยที่สุด แนวทางปฏิบัติที่ดีที่สุดสำหรับปัญหาประเภทนี้คืออะไร

8
ความยาวที่เหมาะสมที่สุดสำหรับที่อยู่อีเมลในฐานข้อมูลคือเท่าใด
นี่คือส่วนที่แยกออกมาจากข้อความค้นหาของฉันซึ่งสะท้อนถึงEMAIL_ADDRESSประเภทข้อมูลคอลัมน์และคุณสมบัติ: EMAIL_ADDRESS CHARACTER VARYING(20) NOT NULL, อย่างไรก็ตามจอห์นแซนเดอVARYING(256)ใช้ สิ่งนี้ชี้ให้เห็นว่าฉันไม่จำเป็นต้องเข้าใจ VARYING อย่างถูกต้อง ฉันเข้าใจดีว่าความยาวของที่อยู่อีเมลคือ 20 ตัวอักษรในกรณีของฉันในขณะที่ 256 สำหรับ Jodn บริบทในรหัสของ John CREATE TABLE so."User" ( USER_ID SERIAL NOT NULL, USER_NAME CHARACTER VARYING(50) NOT NULL, EMAIL_ADDRESS CHARACTER VARYING(256) NOT NULL, // Here HASHED_PASSWORD so.HashedPassword NOT NULL, OPEN_ID CHARACTER VARYING(512), A_MODERATOR BOOLEAN, LOGGED_IN BOOLEAN, HAS_BEEN_SENT_A_MODERATOR_MESSAGE …

13
C # vs C - ความแตกต่างของประสิทธิภาพที่ยิ่งใหญ่
ฉันพบความแตกต่างของประสิทธิภาพอย่างมากระหว่างโค้ดที่คล้ายกันใน C An C # รหัส C คือ: #include <stdio.h> #include <time.h> #include <math.h> main() { int i; double root; clock_t start = clock(); for (i = 0 ; i <= 100000000; i++){ root = sqrt(i); } printf("Time elapsed: %f\n", ((double)clock() - start) / CLOCKS_PER_SEC); } และ C # (แอปคอนโซล) …
94 c#  c  performance 

6
ประสิทธิภาพของตัวดำเนินการ MySQL“ IN” บนจำนวนค่า (ใหญ่?)
ฉันได้ทดลองกับ Redis และ MongoDB เมื่อไม่นานมานี้และดูเหมือนว่ามักจะมีหลายกรณีที่คุณจะเก็บอาร์เรย์ของidไว้ใน MongoDB หรือ Redis ฉันจะติดกับ Redis สำหรับคำถามนี้ตั้งแต่ฉันถามเกี่ยวกับ MySQL ในการประกอบการ ฉันสงสัยว่านักแสดงเป็นอย่างไรในการแสดงรายการIDจำนวนมาก (300-3000) ในตัวดำเนินการ IN ซึ่งจะมีลักษณะดังนี้: SELECT id, name, price FROM products WHERE id IN (1, 2, 3, 4, ...... 3000) ลองนึกภาพง่ายๆอย่างตารางผลิตภัณฑ์และหมวดหมู่ซึ่งโดยปกติคุณอาจเข้าร่วมด้วยกันเพื่อรับผลิตภัณฑ์จากหมวดหมู่หนึ่งๆ ในตัวอย่างด้านบนคุณจะเห็นว่าภายใต้หมวดหมู่ที่กำหนดใน Redis ( category:4:product_ids) ฉันส่งคืนรหัสผลิตภัณฑ์ทั้งหมดจากหมวดหมู่ด้วยรหัส 4 และวางไว้ในSELECTข้อความค้นหาด้านบนภายในตัวINดำเนินการ นักแสดงเป็นอย่างไร? นี่คือสถานการณ์ "ขึ้นอยู่กับ" หรือไม่? หรือมีรูปธรรม "นี่คือ (ไม่) ยอมรับ" หรือ …

12
ค่าใช้จ่ายที่แท้จริงของการลอง / จับใน C # คืออะไร?
ดังนั้นฉันรู้ว่า try / catch เพิ่มค่าใช้จ่ายบางส่วนดังนั้นจึงไม่ใช่วิธีที่ดีในการควบคุมโฟลว์กระบวนการ แต่ค่าใช้จ่ายนี้มาจากไหนและผลกระทบที่แท้จริงคืออะไร

6
วิธีใดเป็นวิธีที่ดีที่สุดในการสร้างโปรไฟล์การเรียกใช้งานจาวาสคริปต์ [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน6 ปีที่ผ่านมา ปรับปรุงคำถามนี้ มี profiler ที่ดีสำหรับ javascript หรือไม่? ฉันรู้ว่า firebug รองรับโค้ดการทำโปรไฟล์ แต่ฉันต้องการกำหนดสถิติในระดับที่ยาวขึ้น ลองนึกภาพคุณกำลังสร้างโค้ดจาวาสคริปต์จำนวนมากและคุณต้องการระบุว่าอะไรคือคอขวดในโค้ด ตอนแรกฉันต้องการดูสถิติโปรไฟล์ของทุกฟังก์ชันจาวาสคริปต์และเวลาดำเนินการ ต่อไปจะรวมถึงฟังก์ชัน DOM สิ่งนี้รวมกับการกระทำที่ทำให้สิ่งต่างๆช้าลงเช่นการทำงานบนต้นไม้การเรนเดอร์จะสมบูรณ์แบบ ฉันคิดว่าสิ่งนี้จะให้ความประทับใจที่ดีหากประสิทธิภาพถูกฆ่าในโค้ดของฉันในการเตรียม DOM หรือในการอัปเดตทรี / ภาพการแสดงผล มีบางอย่างใกล้เคียงกับที่ฉันต้องการหรือไม่? หรืออะไรคือเครื่องมือที่ดีที่สุดในการบรรลุสิ่งที่ฉันอธิบายไว้มากที่สุด มันจะเป็นเบราว์เซอร์ที่คอมไพล์ด้วยตัวเองบวกกับเอ็นจิ้นจาวาสคริปต์ที่ปรับปรุงโดยฟังก์ชันโปรไฟล์หรือไม่?

9
เมื่อใดถ้าเคยการคลายการวนซ้ำยังคงมีประโยชน์อยู่หรือไม่?
ฉันพยายามเพิ่มประสิทธิภาพโค้ดที่มีความสำคัญอย่างยิ่ง (อัลกอริธึมการเรียงลำดับอย่างรวดเร็วที่ถูกเรียกเป็นล้าน ๆ ล้านครั้งในการจำลองมอนติคาร์โล) โดยการคลายการวนซ้ำ นี่คือวงในที่ฉันพยายามเร่งความเร็ว: // Search for elements to swap. while(myArray[++index1] < pivot) {} while(pivot < myArray[--index2]) {} ฉันพยายามยกเลิกการเล่นบางอย่างเช่น: while(true) { if(myArray[++index1] < pivot) break; if(myArray[++index1] < pivot) break; // More unrolling } while(true) { if(pivot < myArray[--index2]) break; if(pivot < myArray[--index2]) break; // More unrolling } สิ่งนี้ไม่แตกต่างอย่างแน่นอนดังนั้นฉันจึงเปลี่ยนกลับเป็นรูปแบบที่อ่านได้มากขึ้น …

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