2012-10-12 12 views
5

संभव डुप्लिकेट:
How do I write a correct micro-benchmark in Java?स्केला में बेंचमार्किंग

चलो कहते हैं कि मैं दो एल्गोरिदम करते हैं, कैसे मैं कैसे पता जो एक एक उच्च प्रदर्शन है?

मेरा मतलब है कि मैं इसे गणितीय रूप से प्रमाणित कर सकता हूं लेकिन यदि मैं कुछ पुस्तकालयों का उपयोग करता हूं तो यह थकाऊ हो सकता है। मैंने कभी नहीं सीखा कि मैं गणित के बिना सही मानक कैसे करता हूं।

उत्तर

6

त्वरित तरीका testing.Benchmark उपयोग करने के लिए है: आप जैसे

object Bench extends testing.Benchmark { 
    // initialize your data here 
    def run() { 
    // code to benchmark here 
    } 
} 

जो आप scala Bench 5 1000000 की तरह कुछ के साथ चलाने के कुछ लिखना (अपने आईडीई से या सीधे, संपादन रन विन्यास) है, जो आप 5 के लिए समय देता है run() विधि की 1000000 पुनरावृत्ति के सेट। आप प्रत्येक सेट के लिए समय की तुलना कर सकते हैं और जांच सकते हैं कि यह लगातार हो गया है (पहला सेट आमतौर पर जेवीएम गर्म करने के कारण धीमा होता है)।

कैलिपर, जावा माइक्रोबेंमार्किंग फ्रेमवर्क का उपयोग करके एक और कठोर दृष्टिकोण के लिए, इस ब्लॉग पोस्ट को देखें: http://www.decodified.com/scala/2011/04/19/microbenchmarking-scala-code

+3

'परीक्षण। बेंचमार्क' अब स्कैला 2.10 –

+14

में बहिष्कृत किया गया है, यदि यह प्रलेखन का उल्लेख किया गया है कि इसका बहिष्कार क्यों किया गया है या आप इसके उपयोग में क्या उपयोग कर रहे हैं ... –

संबंधित मुद्दे