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

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

8
วิธีที่เร็วที่สุดในการวนซ้ำตัวอักษรทั้งหมดในสตริง
ใน Java สิ่งที่จะเป็นวิธีที่เร็วที่สุดในการวนซ้ำทุกตัวอักษรใน String สิ่งนี้: String str = "a really, really long string"; for (int i = 0, n = str.length(); i < n; i++) { char c = str.charAt(i); } หรือสิ่งนี้: char[] chars = str.toCharArray(); for (int i = 0, n = chars.length; i < n; i++) { char …

8
จะดีกว่าถ้าใช้ std :: memcpy () หรือ std :: copy () ในแง่ของประสิทธิภาพ?
จะดีกว่าที่จะใช้memcpyตามที่แสดงด้านล่างหรือดีกว่าที่จะใช้std::copy()ในแง่ของประสิทธิภาพ? ทำไม? char *bits = NULL; ... bits = new (std::nothrow) char[((int *) copyMe->bits)[0]]; if (bits == NULL) { cout << "ERROR Not enough memory.\n"; exit(1); } memcpy (bits, copyMe->bits, ((int *) copyMe->bits)[0]);

4
วิธีที่มีประสิทธิภาพมากที่สุดในการต่อสตริงใน JavaScript?
ใน JavaScript ฉันมีลูปที่มีการวนซ้ำหลายครั้งและในการวนซ้ำแต่ละครั้งฉันกำลังสร้างสตริงขนาดใหญ่ที่มี+=โอเปอเรเตอร์จำนวนมาก มีวิธีที่มีประสิทธิภาพมากกว่าในการสร้างสตริงหรือไม่? ฉันกำลังคิดเกี่ยวกับการสร้างอาร์เรย์แบบไดนามิกที่ฉันเพิ่มสตริงลงไปแล้วทำการเข้าร่วม ใครสามารถอธิบายและยกตัวอย่างวิธีที่เร็วที่สุดในการทำสิ่งนี้?

13
jQuery hasClass () - ตรวจสอบมากกว่าหนึ่งคลาส
ด้วย: if(element.hasClass("class")) ฉันสามารถตรวจสอบชั้นหนึ่ง แต่มีวิธีที่ง่ายในการตรวจสอบว่า "องค์ประกอบ" มีหลายชั้นหรือไม่? ฉันใช้: if(element.hasClass("class") || element.hasClass("class") ... ) ซึ่งไม่ได้เลวร้ายเกินไป แต่ฉันคิดว่าบางสิ่งเช่น: if(element.hasClass("class", "class2") ซึ่งน่าเสียดายที่มันไม่ทำงาน มีอะไรแบบนั้นเหรอ?

4
SQL, Postgres OIDs, มีอะไรบ้างและทำไมจึงมีประโยชน์?
ฉันกำลังดูการสร้างตาราง PostgreSQL และฉันพบสิ่งนี้: CREATE TABLE ( ... ) WITH ( OIDS = FALSE ); ฉันอ่านเอกสารที่จัดทำโดย postgres และฉันรู้แนวคิดของตัวระบุวัตถุจาก OOP แต่ฉันก็ยังไม่เข้าใจ เหตุใดตัวระบุดังกล่าวจึงมีประโยชน์ในฐานข้อมูล การทำให้ข้อความค้นหาสั้นลง? ควรใช้เมื่อใด

12
เป็น String.Format ที่มีประสิทธิภาพเท่ากับ StringBuilder
สมมติว่าฉันมีตัวสร้างสตริงใน C # ที่ทำสิ่งนี้: StringBuilder sb = new StringBuilder(); string cat = "cat"; sb.Append("the ").Append(cat).(" in the hat"); string s = sb.ToString(); จะเป็นอย่างมีประสิทธิภาพหรือมีประสิทธิภาพมากขึ้นเช่นเดียวกับที่มี: string cat = "cat"; string s = String.Format("The {0} in the hat", cat); ถ้าเป็นเช่นนั้นทำไม แก้ไข หลังจากคำตอบที่น่าสนใจฉันรู้ว่าฉันน่าจะชัดเจนขึ้นเล็กน้อยในสิ่งที่ฉันขอ ฉันไม่ได้มากขอซึ่งเป็นเร็วที่เชื่อมโยงสตริง แต่ที่เร็วที่ฉีดหนึ่งสายเข้าไปอีก ในทั้งสองกรณีข้างต้นฉันต้องการแทรกหนึ่งสตริงขึ้นไปในกึ่งกลางของสตริงแม่แบบที่กำหนดไว้ล่วงหน้า ขอโทษสำหรับความสับสน

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

6
ทำไมน้ำหนักที่ซ้อนกันถึงไม่ดีสำหรับประสิทธิภาพ ทางเลือก?
ฉันเขียนไฟล์เลย์เอาต์สองชุดที่ฉันใช้layout_weightคุณลักษณะเพื่อสร้างอัตราส่วนระหว่างมุมมองที่แตกต่างกัน เมื่อถึงจุดหนึ่งฉันเริ่มได้รับคำเตือนที่เป็นขุยเกี่ยวกับน้ำหนักที่ซ้อนกัน ดังนั้นฉันจึงสงสัยว่าทำไมน้ำหนักที่ซ้อนกันไม่ดีสำหรับประสิทธิภาพและหากมีวิธีที่มีประสิทธิภาพมากกว่าในการสร้างอัตราส่วนคงที่ระหว่างขนาดมุมมองที่สามารถใช้กับขนาดหน้าจอที่แตกต่างกันและไม่จำเป็นต้องระบุค่า dpi มิติจำนวนมาก ถึงหลายรูปแบบไฟล์ (สำหรับขนาดหน้าจอที่แตกต่างกันฉันหมายถึง) ขอบคุณ!

15
หนึ่งเขียนรหัสที่ใช้แคช CPU ที่ดีที่สุดเพื่อปรับปรุงประสิทธิภาพได้อย่างไร
สิ่งนี้อาจฟังดูเป็นคำถามส่วนตัว แต่สิ่งที่ฉันกำลังมองหาเป็นกรณีเฉพาะซึ่งคุณอาจได้พบที่เกี่ยวข้องกับเรื่องนี้ วิธีการสร้างโค้ด, การแคชที่มีประสิทธิภาพ / การแคช (การแคชที่มากขึ้น, การทำแคชให้น้อยที่สุด) จากมุมมองทั้งแคชข้อมูลและแคชโปรแกรม (แคชคำสั่ง) คือสิ่งใดในรหัสที่เกี่ยวข้องกับโครงสร้างข้อมูลและการสร้างรหัสเราควรดูแลเพื่อให้แคชมีประสิทธิภาพ มีโครงสร้างข้อมูลใดที่หนึ่งต้องใช้ / หลีกเลี่ยงหรือมีวิธีการเข้าถึงสมาชิกของโครงสร้างนั้น ฯลฯ ... เพื่อให้แคชรหัสมีประสิทธิภาพ มีโปรแกรมใด ๆ ที่สร้าง (ถ้า, สำหรับ, สวิตช์, หยุดพัก, goto, ... ), code-flow (สำหรับภายในถ้า, ถ้าภายใน, สำหรับ, ฯลฯ ... ) หนึ่งควรปฏิบัติตาม / หลีกเลี่ยงในเรื่องนี้หรือไม่? ฉันรอคอยที่จะได้รับประสบการณ์ของแต่ละบุคคลที่เกี่ยวข้องกับการสร้างรหัสประสิทธิภาพแคชโดยทั่วไป มันสามารถเป็นภาษาการเขียนโปรแกรมใด ๆ (C, C ++, Assembly, ... ), เป้าหมายฮาร์ดแวร์ใด ๆ (ARM, Intel, …

14
แบบสอบถามย่อยเข้าร่วม
ฉันปรับโครงสร้างส่วนที่ช้าของแอปพลิเคชันที่เราสืบทอดจาก บริษัท อื่นให้ใช้การเข้าร่วมภายในแทนแบบสอบถามย่อยเช่น: WHERE id IN (SELECT id FROM ...) แบบสอบถามที่มีการปรับโครงสร้างใหม่จะทำงานได้เร็วขึ้นประมาณ 100x (~ 50 วินาทีถึง ~ 0.3) ฉันคาดว่าจะได้รับการปรับปรุง แต่ใคร ๆ ก็สามารถอธิบายได้ว่าทำไมมันถึงรุนแรง คอลัมน์ที่ใช้ในส่วนคำสั่ง where ถูกทำดัชนีทั้งหมด SQL ดำเนินการค้นหาในส่วนคำสั่ง where หนึ่งครั้งต่อแถวหรือบางอย่างหรือไม่? อัปเดต - อธิบายผลลัพธ์: ความแตกต่างอยู่ในส่วนที่สองของแบบสอบถาม "where id in ()" - 2 DEPENDENT SUBQUERY submission_tags ref st_tag_id st_tag_id 4 const 2966 Using where vs …

8
ตรวจสอบว่าทรัพย์สินมีคุณสมบัติ
ให้คุณสมบัติในคลาสพร้อมกับคุณสมบัติ - วิธีที่เร็วที่สุดในการพิจารณาว่ามันมีคุณสมบัติที่กำหนดคืออะไร? ตัวอย่างเช่น: [IsNotNullable] [IsPK] [IsIdentity] [SequenceNameAttribute("Id")] public Int32 Id { get { return _Id; } set { _Id = value; } } วิธีที่เร็วที่สุดในการพิจารณาคือตัวอย่างเช่นมีแอตทริบิวต์ "IsIdentity"?
158 c#  performance 

6
วิธีตรวจสอบว่ามีการล็อคตัวใดบนโต๊ะ
เราจะตรวจสอบการล็อคฐานข้อมูลที่จะใช้กับแถวใดเทียบกับชุดแบบสอบถามได้อย่างไร เครื่องมือใด ๆ ที่เน้นการล็อคระดับแถวของตารางแบบเรียลไทม์? DB: SQL Server 2005

6
TeamViewer รวดเร็วแค่ไหน
ขออภัยเกี่ยวกับความยาว บทนำ ฉันกำลังพัฒนาซอฟต์แวร์เดสก์ท็อประยะไกล (เพื่อความสนุกสนาน) ใน C # 4.0 สำหรับ Windows Vista / 7 ฉันเคยผ่านอุปสรรคพื้นฐาน: ฉันมีระบบส่งข้อความ UDP ที่มีประสิทธิภาพ, การออกแบบโปรแกรมที่ค่อนข้างสะอาด, ฉันมีไดรเวอร์กระจก (ไดรเวอร์กระจก DFMirage ฟรีจาก DemoForge) เปิดใช้งานและฉันใช้ NAT traversal สำหรับทุกคน ประเภท NAT ยกเว้น Symmetric NATs (แสดงในสถานการณ์ไฟร์วอลล์ขององค์กร) เกี่ยวกับการถ่ายโอน / แชร์หน้าจอต้องขอบคุณไดรเวอร์กระจกฉันได้รับแจ้งโดยอัตโนมัติเกี่ยวกับขอบเขตของหน้าจอที่เปลี่ยนแปลงและฉันสามารถรวบรวมบิตแมปหน้าจอที่เปลี่ยนแปลงตลอดเวลาของไดร์เวอร์มิเรอร์เป็นบิตแมปของฉันเอง จากนั้นฉันบีบอัดพื้นที่หน้าจอเป็น PNG และส่งออกจากเซิร์ฟเวอร์ไปยังไคลเอนต์ของฉัน สิ่งต่าง ๆ ดูดี แต่ไม่เร็วพอ มันช้าเท่ากับ VNC (btw ฉันไม่ได้ใช้โปรโตคอล VNC เป็นโปรโตคอลสมัครเล่นที่กำหนดเอง) จากซอฟต์แวร์เดสก์ท็อประยะไกลที่ช้าที่สุดไปจนถึงเร็วที่สุดรายการมักจะเริ่มต้นในทุกการใช้งานแบบ …

10
มีอะไรเร็วและดีกว่าที่จะตรวจสอบว่ามีคีย์อาร์เรย์ใน PHP หรือไม่
ลองพิจารณาตัวอย่างทั้งสองนี้ ... $key = 'jim'; // example 1 if (isset($array[$key])) { // ... } // example 2 if (array_key_exists($key, $array)) { // ... } ฉันสนใจที่จะรู้ว่าทั้งสองอย่างนี้ดีกว่าหรือไม่ ฉันเคยใช้มาก่อนเสมอ แต่เคยเห็นคนจำนวนมากใช้ตัวอย่างที่สองในเว็บไซต์นี้ ดังนั้นจะดีกว่ากัน? ได้เร็วขึ้น? เจตนาชัดเจนขึ้นหรือไม่
157 php  performance 

9
คุณจะกำหนดขนาดบัฟเฟอร์ในอุดมคติได้อย่างไรเมื่อใช้ FileInputStream
ฉันมีวิธีที่สร้าง MessageDigest (แฮช) จากไฟล์และฉันต้องทำสิ่งนี้กับไฟล์จำนวนมาก (> = 100,000) ฉันควรทำให้บัฟเฟอร์ที่ใช้อ่านจากไฟล์มีขนาดใหญ่เพียงใดเพื่อเพิ่มประสิทธิภาพ ทุกคนส่วนใหญ่คุ้นเคยกับรหัสพื้นฐาน (ซึ่งฉันจะทำซ้ำที่นี่ในกรณี): MessageDigest md = MessageDigest.getInstance( "SHA" ); FileInputStream ios = new FileInputStream( "myfile.bmp" ); byte[] buffer = new byte[4 * 1024]; // what should this value be? int read = 0; while( ( read = ios.read( buffer ) ) > 0 …

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