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

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

8
จะล้างวัตถุ JavaScript ได้อย่างรวดเร็วได้อย่างไร
ด้วย JavaScript Array ฉันสามารถรีเซ็ตเป็นสถานะว่างด้วยการมอบหมายครั้งเดียว: array.length = 0; สิ่งนี้ทำให้ Array "ปรากฏ" ว่างเปล่าและพร้อมที่จะนำมาใช้ใหม่และเท่าที่ฉันเข้าใจคือ "การดำเนินการ" เดียว - นั่นคือเวลาคงที่ มีวิธีที่คล้ายกันเพื่อล้างวัตถุ JS หรือไม่ ฉันรู้ว่าฉันสามารถย้ำฟิลด์ของมันเพื่อลบพวกเขา: for (var prop in obj) { if (obj.hasOwnProperty(prop)) { delete obj[prop]; } } แต่นี่มีความซับซ้อนเชิงเส้น ฉันยังสามารถโยนวัตถุออกไปและสร้างวัตถุใหม่ได้: obj = {}; แต่การสร้าง "ใหม่" ของวัตถุใหม่จะทำให้เกิดปัญหากับ Garbage Collection ใน IE6 ( ตามที่อธิบายไว้ที่นี่ )

7
เหตุใดฉันจึงควรใช้ CDN ของ Google สำหรับ jQuery
สิ่งนี้อาจเห็นได้ชัดเจน แต่ฉันสงสัยว่า: ทำไมฉันต้องพึ่งพาเซิร์ฟเวอร์ของ Googleเพื่อโฮสต์ jQuery สำหรับเว็บไซต์ของฉัน เป็นเพราะมันโหลดเร็วกว่าแบบนี้เหรอ?
169 jquery  performance  cdn 

1
วิธีที่รวดเร็วในการปัด double เป็น 32-bit int อธิบาย
เมื่ออ่านLua ของรหัสที่มาผมสังเกตเห็นว่า Lua ใช้macroในการออกรอบdoubleกับ int32 ฉันดึงข้อมูลmacroและดูเหมือนว่า: union i_cast {double d; int i[2]}; #define double2int(i, d, t) \ {volatile union i_cast u; u.d = (d) + 6755399441055744.0; \ (i) = (t)u.i[ENDIANLOC];} ที่นี่ENDIANLOCถูกกำหนดให้เป็นendianness , 0สำหรับ endian เล็ก ๆ น้อย ๆ1สำหรับ endian ใหญ่ Lua จัดการกับ endianness อย่างระมัดระวัง tย่อมาจากชนิดจำนวนเต็มเช่นหรือintunsigned int ฉันทำวิจัยเล็กน้อยและมีรูปแบบที่ง่ายกว่าmacroซึ่งใช้ความคิดเดียวกัน: #define double2int(i, d) …

8
Python: รายการ vs Dict เพื่อค้นหาตาราง
ฉันมีค่าประมาณ 10 ล้านที่ฉันจำเป็นต้องใส่ในตารางค้นหาบางประเภทดังนั้นฉันจึงสงสัยว่ารายการหรือdict ที่มีประสิทธิภาพมากกว่านี้คืออะไร ฉันรู้ว่าคุณสามารถทำสิ่งนี้ได้ทั้ง: if something in dict_of_stuff: pass และ if something in list_of_stuff: pass ความคิดของฉันคือ dict จะเร็วขึ้นและมีประสิทธิภาพมากขึ้น ขอบคุณสำหรับความช่วยเหลือของคุณ. แก้ไข 1 ข้อมูลเพิ่มเติมเล็กน้อยเกี่ยวกับสิ่งที่ฉันพยายามจะทำ ออยเลอร์ปัญหา 92 ฉันกำลังสร้างตารางค้นหาเพื่อดูว่าค่าที่คำนวณได้พร้อมคำนวณทั้งหมดแล้วหรือยัง แก้ไข 2 ประสิทธิภาพสำหรับการค้นหา แก้ไข 3 ไม่มีค่าที่ถูกรวมเข้ากับค่า ... ดังนั้นชุดจะดีกว่าหรือไม่

3
SSL มีค่าใช้จ่ายเท่าใด
ฉันรู้ว่าไม่มีคำตอบที่ยากและรวดเร็วเพียงอย่างเดียว แต่มีการประมาณลำดับทั่วไปสำหรับการเข้ารหัสค่าใช้จ่ายของ SSL กับการสื่อสารซ็อกเก็ตที่ไม่ได้เข้ารหัสหรือไม่ ฉันกำลังพูดถึงการประมวลผล comm และเวลาโอนสายเท่านั้นไม่นับการประมวลผลระดับแอปพลิเคชัน ปรับปรุง มีคำถามเกี่ยวกับ HTTPS กับ HTTPแต่ฉันสนใจที่จะดูในสแต็กที่ต่ำกว่า (ฉันแทนที่วลี "ลำดับความสำคัญ" ไปสู่ความสับสนหลีกเลี่ยง; ผมก็ใช้มันเป็นศัพท์แสงทางการมากกว่าในความรู้สึก compsci อย่างเป็นทางการแน่นอนถ้าฉัน. ได้หมายความว่ามันอย่างเป็นทางการเป็น geek จริงฉันจะได้รับความคิดไบนารีมากกว่า ทศนิยม! ;-) ปรับปรุง ตามคำขอในความคิดเห็นสมมติว่าเรากำลังพูดถึงข้อความขนาดดี (ช่วง 1k-10k) ผ่านการเชื่อมต่อแบบต่อเนื่อง ดังนั้นการตั้งค่าการเชื่อมต่อและโอเวอร์เฮดแพ็คเก็ตจึงไม่มีปัญหาที่สำคัญ

7
วิธี“ คืนวัตถุ” ใน C ++ ได้อย่างไร
ฉันรู้ว่าชื่อฟังดูคุ้นหูเพราะมีคำถามคล้าย ๆ กันหลายอย่าง แต่ฉันขอปัญหาที่แตกต่าง (ฉันรู้ถึงความแตกต่างระหว่างการมีสิ่งของในกองซ้อน ใน Java ฉันสามารถกลับไปอ้างอิงถึงวัตถุ "ท้องถิ่น" public Thing calculateThing() { Thing thing = new Thing(); // do calculations and modify thing return thing; } ใน C ++ เพื่อทำสิ่งที่คล้ายกันฉันมี 2 ตัวเลือก (1) ฉันสามารถใช้การอ้างอิงเมื่อใดก็ตามที่ฉันต้องการ "ส่งคืน" วัตถุ void calculateThing(Thing& thing) { // do calculations and modify thing } จากนั้นใช้มันเช่นนี้ Thing …

6
วิธีการนับการเกิดขึ้นของค่าคอลัมน์อย่างมีประสิทธิภาพใน SQL?
ฉันมีตารางนักเรียน: id | age -------- 0 | 25 1 | 25 2 | 23 ฉันต้องการสอบถามนักเรียนทุกคนและคอลัมน์เพิ่มเติมที่นับจำนวนนักเรียนอายุเท่ากัน: id | age | count ---------------- 0 | 25 | 2 1 | 25 | 2 2 | 23 | 1 วิธีที่มีประสิทธิภาพที่สุดในการทำเช่นนี้คืออะไร? ฉันกลัวว่าย่อยแบบสอบถามจะช้าและฉันสงสัยว่าถ้ามีวิธีที่ดีกว่า มีอะไรบ้าง
166 sql  performance 

4
postgresql COUNT (DISTINCT …) ช้ามาก
ฉันมีแบบสอบถาม SQL ที่ง่ายมาก: SELECT COUNT(DISTINCT x) FROM table; ตารางของฉันมีประมาณ 1.5 ล้านแถว แบบสอบถามนี้ทำงานค่อนข้างช้า ใช้เวลาประมาณ 7.5 วินาทีเมื่อเทียบกับ SELECT COUNT(x) FROM table; ซึ่งใช้เวลาประมาณ 435ms มีวิธีใดที่จะเปลี่ยนข้อความค้นหาของฉันเพื่อปรับปรุงประสิทธิภาพหรือไม่ ฉันได้ลองจัดกลุ่มและทำการนับเป็นประจำเช่นเดียวกับการวางดัชนีบน x; ทั้งคู่มีเวลาดำเนินการ 7.5 วินาทีเหมือนกัน

2
เหตุใด HashSet <Point> จึงช้ากว่า HashSet <string> มาก
ฉันต้องการจัดเก็บตำแหน่งพิกเซลบางแห่งโดยไม่อนุญาตให้ซ้ำซ้อนดังนั้นสิ่งแรกที่ควรคำนึงถึงคือHashSet&lt;Point&gt;หรือคลาสที่คล้ายกัน HashSet&lt;string&gt;อย่างไรก็ตามเรื่องนี้ดูเหมือนจะช้ามากเมื่อเทียบกับสิ่งที่ชอบ ตัวอย่างเช่นรหัสนี้: HashSet&lt;Point&gt; points = new HashSet&lt;Point&gt;(); using (Bitmap img = new Bitmap(1000, 1000)) { for (int x = 0; x &lt; img.Width; x++) { for (int y = 0; y &lt; img.Height; y++) { points.Add(new Point(x, y)); } } } ใช้เวลาประมาณ 22.5 วินาที ในขณะที่รหัสต่อไปนี้(ซึ่งไม่ใช่ตัวเลือกที่ดีสำหรับเหตุผลที่ชัดเจน)ใช้เวลาเพียง 1.6 วินาที: HashSet&lt;string&gt; points …

1
ฟังก์ชัน util.toFastProperties ของ Bluebird ทำให้คุณสมบัติของวัตถุ“ เร็ว” อย่างไร
ในutil.jsไฟล์ของ Bluebird มันมีฟังก์ชั่นดังต่อไปนี้: function toFastProperties(obj) { /*jshint -W027*/ function f() {} f.prototype = obj; ASSERT("%HasFastProperties", true, obj); return f; eval(obj); } ด้วยเหตุผลบางอย่างมีคำสั่งหลังจากฟังก์ชันส่งคืนซึ่งฉันไม่แน่ใจว่าทำไมถึงมี เช่นกันดูเหมือนว่าเป็นเรื่องที่ไตร่ตรองอย่างที่ผู้เขียนได้ทำการเตือน JSHint เกี่ยวกับเรื่องนี้: เข้าไม่ถึง 'eval' หลังจาก 'return' (W027) ฟังก์ชันนี้ทำหน้าที่อะไรกันแน่? ไม่util.toFastPropertiesจริงๆทำให้คุณสมบัติของวัตถุ "เร็วขึ้น"? ฉันค้นหาที่เก็บข้อมูล GitHub ของ Bluebird สำหรับความคิดเห็นใด ๆ ในซอร์สโค้ดหรือคำอธิบายในรายการปัญหาของพวกเขา แต่ฉันไม่พบอะไรเลย

6
ราคาขี้เกียจของ Scala (ซ่อนไว้) ราคาเท่าไหร่?
คุณลักษณะที่มีประโยชน์อย่างหนึ่งของ Scala คือlazy valการประเมิน a valล่าช้าจนกว่าจะมีความจำเป็น (ในการเข้าถึงครั้งแรก) แน่นอน a lazy valต้องมีค่าใช้จ่ายบางส่วน - สกาล่าบางแห่งต้องติดตามว่าได้รับการประเมินค่าแล้วและการประเมินผลต้องทำข้อมูลให้ตรงกันเนื่องจากหลายเธรดอาจพยายามเข้าถึงค่าเป็นครั้งแรกในเวลาเดียวกัน ค่าใช้จ่ายของ a lazy valคืออะไร - มีค่าสถานะบูลีนที่ซ่อนอยู่ซึ่งเชื่อมโยงกับ a lazy valเพื่อติดตามว่าได้รับการประเมินหรือไม่สิ่งที่ถูกซิงโครไนซ์และมีค่าใช้จ่ายเพิ่มเติมอีกหรือไม่ นอกจากนี้สมมติว่าฉันทำสิ่งนี้: class Something { lazy val (x, y) = { ... } } นี่คือเหมือนกับการมีสองแยกlazy vals xและyหรือฉันจะได้รับค่าใช้จ่ายเพียงครั้งเดียวสำหรับทั้งคู่(x, y)?

17
วิธีจัดการกับตัวสร้าง SecureRandom ที่ช้าจะทำอย่างไร
ถ้าคุณต้องการตัวเลขที่แข็งแกร่งใน Java SecureRandomคุณใช้ น่าเสียดายที่SecureRandomอาจช้ามาก ถ้ามันใช้/dev/randomบน Linux มันสามารถบล็อกรอเอนโทรปีเพียงพอที่จะสร้างขึ้น คุณจะหลีกเลี่ยงบทลงโทษการแสดงได้อย่างไร? มีใครใช้Uncommon Mathsเป็นวิธีการแก้ปัญหานี้หรือไม่? ใครช่วยยืนยันว่าปัญหาประสิทธิภาพนี้ได้รับการแก้ไขใน JDK 6 หรือไม่

3
ทำไม x ** 4.0 เร็วกว่า x ** 4 ใน Python 3
ทำไมจึงx**4.0เร็วกว่าx**4? ฉันใช้ CPython 3.5.2 $ python -m timeit "for x in range(100):" " x**4.0" 10000 loops, best of 3: 24.2 usec per loop $ python -m timeit "for x in range(100):" " x**4" 10000 loops, best of 3: 30.6 usec per loop ฉันพยายามเปลี่ยนพลังที่ฉันยกขึ้นมาเพื่อดูว่ามันทำหน้าที่อย่างไรและตัวอย่างเช่นถ้าฉันเพิ่ม x เป็นพลังของ 10 หรือ 16 มันกระโดดจาก 30 …

21
FastPass ของ Disney นั้นถูกต้องและ / หรือมีทฤษฎีคิวที่เป็นประโยชน์
ที่ Disney World พวกเขาใช้ระบบที่ชื่อว่าFastpassเพื่อสร้างบรรทัดที่สองและสั้นกว่าสำหรับการขี่ยอดนิยม แนวคิดคือคุณสามารถรอในบรรทัดมาตรฐานบ่อยครั้งด้วยการรอนานกว่าหนึ่งชั่วโมงหรือคุณสามารถรับ FastPass ซึ่งอนุญาตให้คุณกลับมาในช่วงเวลาที่กำหนด (โดยปกติจะใช้เวลาสองสามชั่วโมงต่อมา) และรอเพียง 10 นาที นาทีหรือน้อยกว่า คุณสามารถ "รอ" สำหรับการนั่งครั้งละหนึ่งครั้งด้วย FastPass ฉันพยายามคิดทฤษฎีคิวหลังแนวคิดนี้ แต่คำอธิบายเดียวที่ฉันพบคือมันถูกออกแบบมาเพื่อดึงคนออกจากสายและทำสิ่งต่าง ๆ ที่จะนำรายได้เพิ่มเติม (ช้อปปิ้งกิน ฯลฯ ) นี่คือสาเหตุที่ FastPass ถูกใช้งานหรือมีปัญหาประสิทธิภาพของผู้เข้าชมจริง ๆ มีแอปพลิเคชันซอฟต์แวร์ที่ใช้ตรรกะที่คล้ายกันหรือไม่ มีแอปพลิเคชันซอฟต์แวร์ที่ควรใช้ตรรกะที่คล้ายกันหรือไม่ ส่วนหนึ่งของปัญหาที่ฉันเห็นเมื่อใช้บางสิ่งที่คล้ายกันในซอฟต์แวร์คือมันขึ้นอยู่กับผู้ใช้ที่เลือกคิวของพวกเขา ทำกับรอบการรอที่เร็วกว่าในซอฟต์แวร์ฉันคิดว่าแอปพลิเคชันที่ดีของทฤษฎีนี้จะต้องมีแอพพลิเคชั่นที่ฉลาดพอที่จะรู้ว่าคิวใดที่จะวางคนตามความต้องการของพวกเขาโดยไม่ต้องเลือกผู้ใช้ปลายทาง

7
SQL เข้าร่วม vs ประสิทธิภาพ?
ฉันมีกรณีที่ใช้ JOIN หรือ IN จะให้ผลลัพธ์ที่ถูกต้อง ... ซึ่งโดยทั่วไปมีประสิทธิภาพที่ดีขึ้นและทำไม เท่าไหร่ก็ไม่ขึ้นอยู่กับสิ่งที่เซิร์ฟเวอร์ฐานข้อมูลที่คุณกำลังทำงานอยู่หรือไม่ (FYI ฉันใช้ MSSQL)

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