मैं कुछ भारी सीपीयू बाध्य समस्या पर काम कर रहा हूं। जब मैं inline
कीवर्ड का उपयोग करता हूं तो मुझे एक बड़ा प्रदर्शन सुधार दिखाई देता है। मैं एक कस्टम कुंजी comparer में मानक .net पुस्तकालय गुजर से एक शब्दकोश बनाने Eq_cmpएफ # इनलाइन कारण 11x प्रदर्शन सुधार क्यों करता है
> perf_run 10000000 ;;
Real: 00:00:11.039, CPU: 00:00:11.029, GC gen0: 771, gen1: 3, gen2: 1
val it : unit =()
पर इनलाइन कीवर्ड के बिना नीचे
https://gist.github.com/4409734
कोड और समय परिणामों को देखने के
perf_run 10000000 ;;
Real: 00:00:01.319, CPU: 00:00:01.388, GC gen0: 1, gen1: 1, gen2: 1
val it : unit =()
>
मैंने आईएनएल के साथ जनरल 0 जीसी की मात्रा में भारी अंतर भी देखा इन कोड और गैर रेखांकित कोड।
कोई बता सकता है कि इतना बड़ा अंतर क्यों है?
अनुकूलन का उपयोग करते समय आप आश्चर्यचकित हैं प्रदर्शन में सुधार? यह पूरी तरह से अपेक्षित व्यवहार है, हालांकि स्वीकार्य रूप से प्रभाव का आकार तुलनात्मक रूप से बड़ा है। –
एफ # में जेनेरिक समानता परीक्षण धीमे हैं। मुझे लगता है कि यह अनिवार्य रूप से वही समस्या है जैसा कि यहां चर्चा की गई है: http://stackoverflow.com/questions/6104221/why-is-this-f-code-so-slow/6104300#6104300 –