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

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

10
อัลกอริทึมเพื่อรับชื่อคอลัมน์ที่เหมือน excel ของตัวเลข
ฉันกำลังทำงานกับสคริปต์ที่สร้างเอกสาร Excel และฉันต้องการแปลงตัวเลขให้เทียบเท่าชื่อคอลัมน์ ตัวอย่างเช่น: 1 => A 2 => B 27 => AA 28 => AB 14558 => UMX ฉันได้เขียนอัลกอริทึมไว้แล้ว แต่ฉันต้องการทราบว่าวิธีที่ง่ายกว่าหรือเร็วกว่าในการทำ: function numberToColumnName($number){ $abc = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; $abc_len = strlen($abc); $result_len = 1; // how much characters the column's name will have $pow = 0; while( ( $pow += pow($abc_len, $result_len) …

2
วิธีเพิ่มประสิทธิภาพเวลาในการสร้างของ webpack โดยใช้เครื่องมือ prefetchPlugin & วิเคราะห์?
การวิจัยก่อนหน้านี้: ตามที่ wiki ของ webpack กล่าวไว้คุณสามารถใช้เครื่องมือวิเคราะห์เพื่อเพิ่มประสิทธิภาพการสร้าง: จาก: https://github.com/webpack/docs/wiki/build-performance#hints-from-build-stats คำแนะนำจากการสร้างสถิติ มีเครื่องมือวิเคราะห์ที่แสดงภาพบิลด์ของคุณและยังให้คำแนะนำบางอย่างเกี่ยวกับขนาดการสร้างและประสิทธิภาพการสร้างที่สามารถปรับให้เหมาะสมได้ คุณสามารถสร้างไฟล์ JSON ที่ต้องการได้โดยเรียกใช้ webpack --profile --json> stats.json ฉันสร้างไฟล์สถิติ ( มีให้ที่นี่ ) อัปโหลดไปยังเครื่องมือวิเคราะห์ของ webpack และภายใต้แท็บคำแนะนำฉันบอกให้ใช้ prefetchPlugin: จาก: http://webpack.github.io/analyse/#hints โมดูลยาวสร้างโซ่ ใช้การดึงข้อมูลล่วงหน้าเพื่อเพิ่มประสิทธิภาพการสร้าง prefetch โมดูลจากตรงกลางของห่วงโซ่ ฉันขุดเว็บจากภายนอกเพื่อค้นหาเอกสารที่มีอยู่ใน prefechPlugin คือ: จาก: https://webpack.js.org/plugins/prefetch-plugin/ PrefetchPlugin new webpack.PrefetchPlugin([context], request) คำขอสำหรับโมดูลปกติซึ่งได้รับการแก้ไขและสร้างขึ้นก่อนที่ความต้องการจะเกิดขึ้น สิ่งนี้สามารถเพิ่มประสิทธิภาพได้ พยายามที่จะสร้างโปรไฟล์ก่อนเพื่อตรวจสอบจุด prefetching ฉลาด คำถามของฉัน: วิธีใช้ prefetchPlugin อย่างถูกต้อง? ขั้นตอนการทำงานที่เหมาะสมที่จะใช้กับเครื่องมือวิเคราะห์คืออะไร …

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

4
เหตุใด JVM จึงยังไม่รองรับการเพิ่มประสิทธิภาพการโทรหาง?
สองปีหลังจากการเพิ่มประสิทธิภาพdo -the-jvm-Prevent-tail-call-optimizationsดูเหมือนว่าจะมีการนำไปใช้งานต้นแบบ และMLVMได้ระบุคุณลักษณะนี้เป็น "โปรโต 80%" ในบางครั้ง ไม่มีความสนใจอย่างแข็งขันจากฝั่งของ Sun / Oracle ในการสนับสนุนการโทรหางหรือเป็นเพียงการเรียกหางคือ "[... ] โชคชะตาที่จะมาเป็นอันดับสองในทุกรายการลำดับความสำคัญของคุณลักษณะ [... ]" ตามที่กล่าวไว้ที่JVM การประชุมสุดยอดภาษา ? ฉันจะสนใจจริงๆถ้ามีคนทดสอบบิลด์ MLVM และสามารถแบ่งปันความประทับใจว่ามันทำงานได้ดีเพียงใด (ถ้าเป็นเช่นนั้น) อัปเดต: โปรดทราบว่า VM บางตัวเช่นAvianรองรับการโทรหางที่เหมาะสมโดยไม่มีปัญหาใด ๆ

9
อะไรคือผลกำไรจากการประกาศวิธีการเป็นแบบคงที่
ฉันเพิ่งดูคำเตือนของฉันใน Eclipse และเจอคำเตือนนี้: มันจะเตือนคอมไพเลอร์หากวิธีนี้สามารถประกาศเป็นแบบคงที่ได้ [แก้ไข]ใบเสนอราคาที่แน่นอนภายในความช่วยเหลือ Eclipse โดยเน้นเรื่องส่วนตัวและขั้นสุดท้าย: เมื่อเปิดใช้งานคอมไพลเลอร์จะแสดงข้อผิดพลาดหรือคำเตือนสำหรับวิธีการที่เป็นส่วนตัวหรือขั้นสุดท้ายและอ้างถึงเฉพาะสมาชิกแบบคงที่ ใช่ฉันรู้ว่าฉันสามารถปิดได้ แต่ฉันต้องการทราบเหตุผลในการเปิดเครื่อง? เหตุใดจึงเป็นเรื่องดีที่จะประกาศทุกวิธีที่เป็นไปได้ว่าเป็นแบบคงที่? สิ่งนี้จะให้ประโยชน์ด้านประสิทธิภาพหรือไม่? (ในโดเมนมือถือ) ชี้ให้เห็นว่าวิธีการเป็นแบบคงที่ฉันคิดว่ากำลังแสดงว่าคุณไม่ได้ใช้ตัวแปรอินสแตนซ์ใด ๆ ดังนั้นจึงสามารถย้ายไปที่คลาสสไตล์ยูทิลิตี้ได้หรือไม่ ในตอนท้ายของวันฉันควรจะปิด 'เพิกเฉย' หรือฉันควรแก้ไขคำเตือนมากกว่า 100 รายการที่ให้ไว้? คุณคิดว่านี่เป็นเพียงคำหลักพิเศษที่ทำให้โค้ดสกปรกเนื่องจากคอมไพเลอร์จะสอดแทรกวิธีการเหล่านี้ต่อไปหรือไม่? (เหมือนกับว่าคุณไม่ได้ประกาศตัวแปรทุกตัวที่ทำได้สุดท้ายแต่คุณทำได้ )

12
รวมและลดขนาดไฟล์ CSS / JS หลายไฟล์
ฉันกำลังพยายามเพิ่มประสิทธิภาพไซต์โดยการรวมและบีบอัดไฟล์ CSS และ JS คำถามของฉันเป็นข้อมูลเพิ่มเติมเกี่ยวกับขั้นตอน (ที่เป็นรูปธรรม) เกี่ยวกับวิธีบรรลุเป้าหมายนี้โดยพิจารณาจากสถานการณ์จริงที่ฉันเผชิญอยู่ (ควรเป็นเรื่องปกติของนักพัฒนาซอฟต์แวร์รายอื่นด้วย) หน้าของฉันอ้างอิงไฟล์ CSS และ JS หลายไฟล์ดังต่อไปนี้: <!-- It's easier to work on smaller files during development. Hence, the multiple CSS and JS files. --> <link type="text/css" rel="stylesheet" href="https://stackoverflow.com/css/main.css" /> <link type="text/css" rel="stylesheet" href="https://stackoverflow.com/css/secondary-1.css" /> <link type="text/css" rel="stylesheet" href="https://stackoverflow.com/css/secondary-2.css" /> <script type="text/javascript" src="/scripts/js/main.js"></script> <script …

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

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 } สิ่งนี้ไม่แตกต่างอย่างแน่นอนดังนั้นฉันจึงเปลี่ยนกลับเป็นรูปแบบที่อ่านได้มากขึ้น …

8
std :: map insert หรือ std :: map find?
สมมติว่าเป็นแผนที่ที่คุณต้องการเก็บรักษารายการที่มีอยู่ 20% ของเวลารายการที่คุณกำลังแทรกเป็นข้อมูลใหม่ มีข้อได้เปรียบในการทำ std :: map :: find แล้ว std :: map :: insert โดยใช้ iterator ที่ส่งคืนหรือไม่? หรือมันเร็วกว่าที่จะพยายามแทรกแล้วดำเนินการโดยขึ้นอยู่กับว่าตัววนซ้ำระบุว่าบันทึกนั้นหรือไม่ได้ใส่หรือไม่?
93 c++  optimization  stl  stdmap 

6
eval () และ Function ใหม่ () เหมือนกันหรือไม่?
ฟังก์ชั่นทั้งสองนี้ทำสิ่งเดียวกันเบื้องหลังหรือไม่? (ในฟังก์ชันคำสั่งเดียว) var evaluate = function(string) { return eval('(' + string + ')'); } var func = function(string) { return (new Function( 'return (' + string + ')' )()); } console.log(evaluate('2 + 1')); console.log(func('2 + 1'));

11
PHP Objects vs Arrays - การเปรียบเทียบประสิทธิภาพขณะทำซ้ำ
ฉันมีออบเจ็กต์ PHP จำนวนมากสำหรับเครือข่ายประสาทเทียมที่ฉันต้องทำซ้ำและทำการคำนวณทางคณิตศาสตร์ ฉันสงสัยว่าฉันจะใช้อาร์เรย์เชื่อมโยงกับอินสแตนซ์ของคลาสได้ดีกว่าหรือไม่? ฉันกำลังจัดการกับ3640วัตถุรอบ ๆ ตัวและทำซ้ำไปเรื่อย ๆ500(อย่างดีที่สุด) นอกเหนือจากนั้นดังนั้นการเพิ่มประสิทธิภาพแบบไมโครจะช่วยได้มาก มันจะหลีกเลี่ยงไม่ได้จะเร็วจะทำ$object['value']กว่า$object->value? แก้ไข:ทั้งคู่เหมือนกัน แต่ฉันเดาว่าจะมีค่าใช้จ่ายเล็กน้อยสำหรับตัวสร้างหรือไม่? ไม่ว่าจะด้วยวิธีใดฉันไม่คิดว่าฉันต้องการแลกเปลี่ยนคลาสที่สวยงามของฉันสำหรับอาร์เรย์สกปรก: P

10
ฉันจะปรับปรุงประสิทธิภาพผ่านแนวทางระดับสูงได้อย่างไรเมื่อใช้สมการแบบยาวใน C ++
ฉันกำลังพัฒนาแบบจำลองทางวิศวกรรมบางอย่าง สิ่งนี้เกี่ยวข้องกับการใช้สมการยาวบางอย่างเช่นสมการนี้เพื่อคำนวณความเค้นในวัสดุเช่นยาง: T = ( mu * ( pow(l1 * pow(l1 * l2 * l3, -0.1e1 / 0.3e1), a) * a * ( pow(l1 * l2 * l3, -0.1e1 / 0.3e1) - l1 * l2 * l3 * pow(l1 * l2 * l3, -0.4e1 / 0.3e1) / 0.3e1 ) * …

4
ลดความเข้ากันได้ของเบราว์เซอร์การบีบอัดและข้อได้เปรียบเหนือ GZIP
อัปเดต 10 กุมภาพันธ์ 2555: zOompf ได้ทำการวิจัยอย่างละเอียดเกี่ยวกับหัวข้อนี้ที่นี่แล้ว มันสำคัญกว่าการค้นพบใด ๆ ด้านล่าง อัพเดท 11 กันยายน 2553: มีการสร้างแพลตฟอร์มการทดสอบสำหรับสิ่งนี้ที่นี่ คำจำกัดความ HTTP 1.1 ของ GZIP และ DEFLATE (zlib) สำหรับข้อมูลพื้นฐาน: "" Gzip "คือรูปแบบ gzip และ" deflate "คือรูปแบบ zlibซึ่งน่าจะเรียกรูปแบบที่สองว่า" zlib "แทนเพื่อหลีกเลี่ยงความสับสนกับรูปแบบข้อมูลที่บีบอัดแบบ raw deflate ในขณะที่ HTTP 1.1 RFC 2616 ชี้อย่างถูกต้อง ข้อมูลจำเพาะ zlib ใน RFC 1950 สำหรับการเข้ารหัสการถ่ายโอน 'deflate' มีรายงานเกี่ยวกับเซิร์ฟเวอร์และเบราว์เซอร์ที่สร้างหรือคาดว่าข้อมูลดิบไม่ถูกต้องตามข้อกำหนดเกี่ยวกับการยุบตัวใน RFC …

7
JavaScript ที่ไม่สร้างความรำคาญ: <script> ที่ด้านบนหรือด้านล่างของโค้ด HTML?
ฉันเพิ่งอ่านรายการวิธีปฏิบัติที่ดีที่สุดของ Yahoo เพื่อเร่งความเร็วเว็บไซต์ของคุณ พวกเขาแนะนำให้ใส่ JavaScript ที่ด้านล่างของโค้ด HTML เมื่อเราทำได้ แต่ที่ไหนกันแน่และเมื่อไหร่? เราควรใส่ก่อนปิด&lt;/html&gt;หรือหลัง? และเหนือสิ่งอื่นใดเมื่อเราควรใส่ไว้ใน&lt;head&gt;ส่วนนี้?

4
Haskell มีการเพิ่มประสิทธิภาพหางซ้ำหรือไม่?
วันนี้ฉันค้นพบคำสั่ง "time" ใน unix และคิดว่าจะใช้เพื่อตรวจสอบความแตกต่างของเวลาทำงานระหว่างฟังก์ชันการเรียกซ้ำแบบหางซ้ำและฟังก์ชันเรียกซ้ำแบบปกติใน Haskell ฉันเขียนฟังก์ชันต่อไปนี้: --tail recursive fac :: (Integral a) =&gt; a -&gt; a fac x = fac' x 1 where fac' 1 y = y fac' x y = fac' (x-1) (x*y) --normal recursive facSlow :: (Integral a) =&gt; a -&gt; a facSlow 1 = 1 …

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