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

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

6
อะไรคือความแตกต่างระหว่าง BaseAdapter และ ArrayAdapter?
ฉันต้องการทราบความแตกต่างระหว่างการใช้BaseAdapterและArrayAdapter. ArrayAdaptersฉันได้รับการบรรลุสิ่งที่ฉันต้องการผ่าน มีผลต่อประสิทธิภาพของListViewอินเทอร์เฟซบนอะแด็ปเตอร์ที่ใช้งานหรือไม่? และคำถามสุดท้ายคือฉันสามารถทำอะไรก็ได้ListViewโดยใช้สิ่งเหล่านี้Adaptersหรือมีบางกรณีที่สามารถใช้อะแดปเตอร์เฉพาะได้หรือไม่?

12
วิธีที่เร็วที่สุดในการหลีกเลี่ยงแท็ก HTML เป็นเอนทิตี HTML?
ผมเขียนส่วนขยายของ Chrome ที่เกี่ยวข้องกับการทำมากของงานดังต่อไปนี้: ฆ่าเชื้อสตริงที่อาจมีแท็ก HTML โดยการแปลง<, >และ&เพื่อ<, >และ&ตามลำดับ (กล่าวอีกนัยหนึ่งก็เหมือนกับของ PHP htmlspecialchars(str, ENT_NOQUOTES)- ฉันไม่คิดว่าจะต้องมีการแปลงอักขระแบบ double-quote) นี่เป็นฟังก์ชั่นที่เร็วที่สุดที่ฉันเคยพบ: function safe_tags(str) { return str.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>') ; } แต่ยังคงมีความล่าช้าอย่างมากเมื่อฉันต้องวิ่งสองสามพันสายผ่านมันในครั้งเดียว ใครสามารถปรับปรุงเรื่องนี้ได้บ้าง? ส่วนใหญ่เป็นสตริงระหว่าง 10 ถึง 150 อักขระหากสิ่งนั้นสร้างความแตกต่าง (ความคิดหนึ่งที่ฉันมีคือไม่ต้องกังวลกับการเข้ารหัสเครื่องหมายที่ใหญ่กว่า - จะมีอันตรายจริงหรือไม่)

7
วิธีที่เร็วที่สุดในการตรวจสอบว่าสตริงตรงกับ regexp ในทับทิมหรือไม่?
วิธีใดที่เร็วที่สุดในการตรวจสอบว่าสตริงตรงกับนิพจน์ทั่วไปใน Ruby หรือไม่ ปัญหาของฉันคือฉันต้อง "egrep" ผ่านรายการสตริงจำนวนมากเพื่อค้นหาว่าสตริงใดที่ตรงกับ regexp ที่กำหนดให้ในรันไทม์ ฉันสนใจแค่ว่าสตริงตรงกับ regexp ไม่ใช่ที่ที่ตรงกันหรือเนื้อหาของกลุ่มที่ตรงกันคืออะไร ฉันหวังว่าสมมติฐานนี้จะสามารถใช้เพื่อลดระยะเวลาที่รหัสของฉันใช้ในการจับคู่ regexps ฉันโหลด regexp ด้วย pattern = Regexp.new(ptx).freeze ฉันพบว่าstring =~ patternเร็วกว่าstring.match(pattern). มีเทคนิคหรือทางลัดอื่น ๆ ที่สามารถใช้เพื่อทำให้การทดสอบนี้เร็วขึ้นหรือไม่?
100 ruby  regex  performance 

3
ทำไม LINQ JOIN จึงเร็วกว่าการเชื่อมโยงกับ WHERE มาก?
ฉันเพิ่งอัปเกรดเป็น VS 2010 และกำลังเล่นกับ LINQ เป็น Dataset ฉันมีชุดข้อมูลที่พิมพ์แน่นหนาสำหรับการอนุญาตที่อยู่ใน HttpCache ของ ASP.NET WebApplication ฉันจึงอยากรู้ว่าอะไรคือวิธีที่เร็วที่สุดในการตรวจสอบว่าผู้ใช้ได้รับอนุญาตให้ทำบางสิ่งหรือไม่ นี่คือรูปแบบข้อมูลของฉันและข้อมูลอื่น ๆ หากมีใครสนใจ ฉันตรวจสอบแล้ว 3 วิธี: ฐานข้อมูลโดยตรง แบบสอบถาม LINQ กับที่ไหนเงื่อนไขที่ "เข้าร่วม" - ไวยากรณ์ แบบสอบถาม LINQ พร้อมเข้าร่วม - ไวยากรณ์ นี่คือผลลัพธ์ที่มีการโทร 1,000 ครั้งในแต่ละฟังก์ชัน: 1. การนึ่ง: 4,2841519 วินาที 115,7796925 วินาที 2,024749 วินาที 2. การนึ่ง: 3,1954857 วินาที 84,97047 วินาที 1,5783397 วินาที …

12
การตรวจสอบอาร์เรย์ว่าง: count vs empty
คำถามเกี่ยวกับ ' จะทราบได้อย่างไรว่าอาร์เรย์ PHP ว่างเปล่า ' ทำให้ฉันนึกถึงคำถามนี้ มีเหตุผลที่countควรใช้แทนemptyเมื่อพิจารณาว่าอาร์เรย์ว่างหรือไม่? ความคิดส่วนตัวของฉันคือถ้า 2 เทียบเท่ากับกรณีของอาร์เรย์ว่างที่คุณควรใช้emptyเพราะมันให้คำตอบแบบบูลีนสำหรับคำถามบูลีน จากคำถามที่เชื่อมโยงข้างต้นดูเหมือนว่าcount($var) == 0จะเป็นวิธีที่นิยม สำหรับฉันในขณะที่ความถูกต้องทางเทคนิคก็ไม่สมเหตุสมผล เช่นQ: $ var คุณว่างไหม ตอบ: 7 . อืม ... มีเหตุผลที่ฉันควรใช้count == 0แทนหรือแค่เรื่องรสนิยมส่วนตัว? ตามที่ผู้อื่นระบุไว้ในความคิดเห็นสำหรับคำตอบที่ถูกลบไปแล้วcountจะมีผลกระทบต่อประสิทธิภาพสำหรับอาร์เรย์ขนาดใหญ่เนื่องจากจะต้องนับองค์ประกอบทั้งหมดในขณะที่emptyสามารถหยุดได้ทันทีที่รู้ว่าไม่ว่างเปล่า ดังนั้นหากให้ผลลัพธ์เหมือนกันในกรณีนี้ แต่countอาจไม่มีประสิทธิภาพทำไมเราถึงใช้count($var) == 0?

3
ค่าใช้จ่ายของตัวจัดการข้อยกเว้นใน Python
ในคำถามอื่นคำตอบที่ยอมรับได้แนะนำให้แทนที่คำสั่ง if (ถูกมาก) ในโค้ด Python ด้วยบล็อก try / except เพื่อปรับปรุงประสิทธิภาพ สไตล์การเข้ารหัสมีปัญหากันและสมมติว่าไม่มีการเรียกใช้ข้อยกเว้นจะทำให้มีตัวจัดการข้อยกเว้น (ประสิทธิภาพที่ชาญฉลาด) แตกต่างกันมากน้อยเพียงใดเมื่อเทียบกับการไม่มี if-statement ที่เปรียบเทียบกับศูนย์

8
วิธีที่เร็วที่สุดในการแสดงไฟล์โดยใช้ PHP
ฉันกำลังพยายามรวบรวมฟังก์ชันที่รับเส้นทางไฟล์ระบุว่ามันคืออะไรตั้งค่าส่วนหัวที่เหมาะสมและทำหน้าที่เหมือนกับที่ Apache ทำ เหตุผลที่ฉันทำเช่นนี้เป็นเพราะฉันต้องใช้ PHP เพื่อประมวลผลข้อมูลบางอย่างเกี่ยวกับคำขอก่อนที่จะให้บริการไฟล์ ความเร็วเป็นสิ่งสำคัญ virtual () ไม่ใช่ตัวเลือก ต้องทำงานในสภาพแวดล้อมการโฮสต์ที่ใช้ร่วมกันโดยที่ผู้ใช้ไม่สามารถควบคุมเว็บเซิร์ฟเวอร์ได้ (Apache / nginx ฯลฯ ) นี่คือสิ่งที่ฉันมีจนถึงตอนนี้: File::output($path); <?php class File { static function output($path) { // Check if the file exists if(!File::exists($path)) { header('HTTP/1.0 404 Not Found'); exit(); } // Set the content-type header header('Content-Type: '.File::mimeType($path)); // Handle caching …

4
อะไรเร็วกว่า: in_array หรือ isset [ปิด]
ตามที่กล่าวมาในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา คำถามนี้เป็นเพียงสำหรับฉันเพราะฉันมักจะชอบเขียนโค้ดที่ปรับให้เหมาะสมซึ่งสามารถทำงานบนเซิร์ฟเวอร์ที่ช้าราคาถูก (หรือเซิร์ฟเวอร์ที่มีปริมาณการใช้งานมาก) ฉันมองไปรอบ ๆ และไม่สามารถหาคำตอบได้ ฉันสงสัยว่าอะไรจะเร็วกว่าระหว่างสองตัวอย่างนี้โปรดทราบว่าคีย์ของอาร์เรย์ในกรณีของฉันไม่สำคัญ (รหัสหลอกตามธรรมชาติ): <?php $a = array(); while($new_val = 'get over 100k email addresses already lowercased'){ if(!in_array($new_val, $a){ $a[] = $new_val; //do other stuff } } ?> <?php $a = array(); while($new_val = 'get over 100k email addresses …

5
คลัสเตอร์เทียบกับไม่ใช่คลัสเตอร์
ความรู้ระดับล่างของฉันเกี่ยวกับ SQL (Server 2008) มี จำกัด และขณะนี้ DBA ของเราได้รับการพิสูจน์แล้ว ให้ฉันอธิบาย (ฉันได้กล่าวถึงข้อความที่ชัดเจนด้วยความหวังว่าฉันถูก แต่ถ้าคุณเห็นบางอย่างผิดปกติโปรดบอกฉัน) สถานการณ์: เรามีโต๊ะที่มี 'คำสั่งศาล' สำหรับผู้คน เมื่อฉันสร้างตาราง (ชื่อ: CourtOrder) ฉันสร้างมันดังนี้: CREATE TABLE dbo.CourtOrder ( CourtOrderID INT NOT NULL IDENTITY(1,1), (Primary Key) PersonId INT NOT NULL, + around 20 other fields of different types. ) จากนั้นฉันใช้ดัชนีที่ไม่ใช่คลัสเตอร์กับคีย์หลัก (เพื่อประสิทธิภาพ) เหตุผลของฉันคือมันเป็นฟิลด์ที่ไม่ซ้ำกัน (คีย์หลัก) และควรจัดทำดัชนีเพื่อจุดประสงค์ในการเลือกเป็นหลักเนื่องจากเรามักจะSelect from …


4
ประสิทธิภาพที่แปลกประหลาดเพิ่มขึ้นในเกณฑ์มาตรฐานอย่างง่าย
เมื่อวานฉันพบบทความของ Christoph Nahr ชื่อ ".NET Struct Performance" ซึ่งเปรียบเทียบหลายภาษา (C ++, C #, Java, JavaScript) สำหรับวิธีการที่เพิ่มโครงสร้างสองจุด ( doubletuples) ตามที่ปรากฏเวอร์ชัน C ++ ใช้เวลาประมาณ 1,000ms ในการดำเนินการ (การทำซ้ำ 1e9) ในขณะที่ C # ไม่สามารถทำงานได้ต่ำกว่า ~ 3000ms ในเครื่องเดียวกัน (และทำงานได้แย่กว่าใน x64) เพื่อทดสอบด้วยตัวเองฉันใช้รหัส C # (และทำให้ง่ายขึ้นเล็กน้อยเพื่อเรียกเฉพาะเมธอดที่มีการส่งผ่านพารามิเตอร์ด้วยค่า) และรันบนเครื่อง i7-3610QM (บูสต์ 3.1Ghz สำหรับคอร์เดียว), RAM 8GB, Win8 1 โดยใช้. NET 4.5.2, …

5
วิธีใดเร็วที่สุดในการรวม / เข้าร่วม data.frames ใน R?
ตัวอย่างเช่น (ไม่แน่ใจว่าตัวอย่างที่เป็นตัวแทนส่วนใหญ่): N <- 1e6 d1 <- data.frame(x=sample(N,N), y1=rnorm(N)) d2 <- data.frame(x=sample(N,N), y2=rnorm(N)) นี่คือสิ่งที่ฉันมีจนถึงตอนนี้: d <- merge(d1,d2) # 7.6 sec library(plyr) d <- join(d1,d2) # 2.9 sec library(data.table) dt1 <- data.table(d1, key="x") dt2 <- data.table(d2, key="x") d <- data.frame( dt1[dt2,list(x,y1,y2=dt2$y2)] ) # 4.9 sec library(sqldf) sqldf() sqldf("create index ix1 on …

11
Python vs Bash - งานประเภทใดที่แต่ละงานมีประสิทธิภาพเหนือกว่าประสิทธิภาพอื่น ๆ ? [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 เดือนที่ผ่านมา ปรับปรุงคำถามนี้ เห็นได้ชัดว่า Python เป็นมิตรกับผู้ใช้มากกว่าการค้นหาอย่างรวดเร็วใน Google จะแสดงผลลัพธ์มากมายที่กล่าวว่าเนื่องจาก Python มีการคอมไพล์ไบต์มักจะเร็วกว่า ฉันพบสิ่งนี้ที่อ้างว่าคุณสามารถเห็นการปรับปรุงมากกว่า 2000% ในการดำเนินการตามพจนานุกรม คุณมีประสบการณ์อย่างไรในเรื่องนี้? แต่ละคนเป็นผู้ชนะที่ชัดเจนในงานประเภทใด


10
ทำไมต้องปิดชั้นเรียน?
ฉันต้องการทราบว่าอะไรคือแรงจูงใจเบื้องหลังคลาสปิดผนึกจำนวนมากในกรอบงาน. Net การผนึกชั้นเรียนมีประโยชน์อย่างไร? ฉันไม่สามารถเข้าใจได้ว่าการไม่ยอมให้มรดกมีประโยชน์อย่างไรและส่วนใหญ่ไม่ใช่คนเดียวที่ต่อสู้กับคลาสเหล่านี้ เหตุใดเฟรมเวิร์กจึงได้รับการออกแบบมาในลักษณะนี้และจะไม่เป็นการเปลี่ยนแปลงที่ไม่เปลี่ยนแปลงเพื่อปลดผนึกทุกสิ่ง? ต้องมีเหตุผลอื่นอีก แต่แค่เป็นคนชั่ว?
96 .net  performance 

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