2014-07-13 10 views
9

मैं बेंचमार्किंग के लिए http://openjdk.java.net/projects/code-tools/jmh/ उपयोग कर रहा हूँ और मैं की तरह एक परिणाम मिलता है:ओपनजेडीके जेएमएच "स्कोर त्रुटि" का क्या अर्थ है?

 
Benchmark       Mode Samples  Score Score error Units 
o.a.f.c.j.b.TestClass.test1  avgt   5 2372870,600 210897,743 us/op 
o.a.f.c.j.b.TestClass.test2  avgt   5 2079931,850 394727,671 us/op 
o.a.f.c.j.b.TestClass.test3  avgt   5 26585,818 21105,739 us/op 
o.a.f.c.j.b.TestClass.test4  avgt   5 19113,230  8012,852 us/op 
o.a.f.c.j.b.TestClass.test5  avgt   5  2586,413  1949,487 us/op 
o.a.f.c.j.b.TestClass.test6  avgt   5  1942,963  1619,967 us/op 
o.a.f.c.j.b.TestClass.test7  avgt   5  233,902  73,861 us/op 
o.a.f.c.j.b.TestClass.test8  avgt   5  191,970  126,682 us/op 

क्या स्तंभ "त्रुटि स्कोर" करता है वास्तव में मतलब है और यह कैसे व्याख्या करने के लिए?

उत्तर

15

यह स्कोर के लिए त्रुटि का मार्जिन है। ज्यादातर मामलों में, यह का आधा है। इसके बारे में सोचें जैसे "स्कोर" और "स्कोर त्रुटि" के बीच एक "±" चिह्न है। वास्तव में, मानव पठनीय लॉग दिखाएगा:

Result: 1.986 ±(99.9%) 0.009 ops/ns [Average] 
    Statistics: (min, avg, max) = (1.984, 1.986, 1.990), stdev = 0.002 
    Confidence interval (99.9%): [1.977, 1.995] 


# Run complete. Total time: 00:00:12 

Benchmark     Mode Samples Score Score error Units 
o.o.j.s.HelloWorld.hello thrpt  5 1.986  0.009 ops/ns 
+0

बहुत बहुत शुक्रिया ... – salyh

+1

Btw, मुझे लगता है कि सुधार की गुंजाइश यहाँ है। जेएमएच "झूठी परिशुद्धता" (https://en.wikipedia.org/wiki/False_precision) से पीड़ित है क्योंकि आप ओपी के डेटा से देख सकते हैं। माप के प्रदर्शित महत्वपूर्ण अंक गलत रूप से त्रुटि से उच्च परिशुद्धता का संकेत देते हैं। उदाहरण के लिए, "1.776361 ± 0.154321" कहने का अर्थ नहीं है। सबसे अच्छा मामला यह 1.78 ± 0.15 होगा। त्रुटि की परिमाण की वजह से कोई और अंक गलत परिशुद्धता है। तो जेएमएच में सटीकता से सावधान रहें। –

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