Measured 21/11/2014, fsharp4 branch commit ff5c7f35804c

Top 40 allocation types in short run of compiler (by number of allocations)

Name Inclusive Allocations Exclusive Allocations Inclusive Bytes Exclusive Bytes Inclusive Allocations %
Microsoft.FSharp.Collections.FSharpList`1 135,636 135,636 2,182,412 2,182,412 8.56
System.Tuple`2 120,923 120,923 1,978,592 1,978,592 7.63
System.String 76,371 76,371 4,706,082 4,706,082 4.82
Microsoft.FSharp.Core.FSharpOption`1 56,884 56,884 688,536 688,536 3.59
Internal.Utilities.Filename.checkPathForIllegalChars@14 55,661 55,661 667,932 667,932 3.51
Microsoft.FSharp.Compiler.Pickle.u_array@494 55,017 55,017 660,204 660,204 3.47
Internal.Utilities.Text.Lexing.Position 52,806 52,806 1,478,568 1,478,568 3.33
System.Object 48,303 48,303 579,636 579,636 3.05
System.Func`1 48,231 48,231 1,543,392 1,543,392 3.04
System.Lazy`1 48,216 48,216 964,320 964,320 3.04
Microsoft.FSharp.Control.LazyExtensions.Create@6018 48,216 48,216 578,592 578,592 3.04
Microsoft.FSharp.Compiler.Lexfilter.suffixExists@1138-1 35,093 35,093 421,116 421,116 2.21
Microsoft.FSharp.Compiler.Lexfilter.tokenBalancesHeadContext@1101-1 35,093 35,093 421,116 421,116 2.21
System.UInt16 23,780 23,780 285,360 285,360 1.50
Microsoft.FSharp.Compiler.Lexfilter.TokenTup 22,581 22,581 632,268 632,268 1.42
Microsoft.FSharp.Compiler.Ast.Ident 17,396 17,396 347,920 347,920 1.10
System.Tuple`6 17,371 17,371 605,672 605,672 1.10
Microsoft.FSharp.Compiler.Tast.Attrib[] 16,968 16,968 276,716 276,716 1.07
System.Byte[] 15,036 15,036 4,147,007 4,147,007 0.95
Microsoft.FSharp.Collections.MapTree`2.MapNode 13,962 13,962 390,936 390,936 0.88
System.String[] 13,884 13,884 505,660 505,660 0.88
System.Tuple`3 13,749 13,749 283,908 283,908 0.87
System.Tuple`4 13,471 13,471 318,160 318,160 0.85
System.Tuple`5 12,764 12,764 366,536 366,536 0.81
Microsoft.FSharp.Core.FSharpRef`1 12,684 12,684 152,216 152,216 0.80
Microsoft.FSharp.Compiler.Tast.EntityRef 12,543 12,543 200,688 200,688 0.79
Microsoft.FSharp.Compiler.AbstractIL.ILBinaryReader.seekReadTypeDefRowUncached@1193 11,764 11,764 141,168 141,168 0.74
Microsoft.FSharp.Compiler.AbstractIL.ILBinaryReader.seekReadCustomAttrs@2628 11,504 11,504 230,080 230,080 0.73
Microsoft.FSharp.Compiler.AbstractIL.IL.ILAttributes.CustomAttrsLazy 11,504 11,504 138,048 138,048 0.73
Microsoft.FSharp.Compiler.AbstractIL.ILBinaryReader.seekReadGenericParamRow@1503 10,383 10,383 124,596 124,596 0.66
Microsoft.FSharp.Compiler.Tast.Val 10,382 10,382 124,584 124,584 0.65
Microsoft.FSharp.Control.LazyExtensions.CreateFromValue@6023 10,310 10,310 123,720 123,720 0.65

Top 40 allocation points in short run of compiler (by number of allocations)


Function Name Exclusive Allocations Exclusive Bytes Inclusive Allocations Inclusive Bytes

Microsoft.FSharp.Control.LazyExtensions.Create(class Microsoft.FSharp.Core.FSharpFunc`2<class Microsoft.FSharp.Core.Unit,!!0>) 144,648 3,085,824 192,864 3,664,416
Microsoft.FSharp.Collections.FSharpList`1.Cons(!0,class Microsoft.FSharp.Collections.FSharpList`1<!0>) 128,888 2,062,208 128,888 2,062,208
Microsoft.FSharp.Compiler.Lexfilter.LexFilterImpl.hwTokenFetch(bool) 70,188 842,268 254,099 5,193,206
Microsoft.FSharp.Collections.ArrayModule.ZeroCreate(int32) 58,418 1,194,572 58,418 1,194,572
Internal.Utilities.Filename.checkPathForIllegalChars(string) 55,661 667,932 56,261 679,996
Microsoft.FSharp.Core.FSharpOption`1.Some(!0) 54,730 656,760 54,730 656,760
System.Lazy`1.GetObjectFromMode(valuetype System.Threading.LazyThreadSafetyMode) 48,216 578,592 48,216 578,592
Internal.Utilities.Text.Lexing.Position.EndOfToken(int32) 48,088 1,346,464 48,088 1,346,464
Microsoft.FSharp.Compiler.AbstractIL.ILBinaryReader.seekReadTypeDef(class Microsoft.FSharp.Compiler.AbstractIL.ILBinaryReader/ILReaderContext,bool,int32) 39,388 708,984 196,663 5,267,936
Microsoft.FSharp.Compiler.Lexfilter.LexFilterImpl.runWrappedLexerInConsistentLexbufState() 36,930 812,640 122,755 3,486,300
Microsoft.FSharp.Compiler.Pickle.u_ValData(class Microsoft.FSharp.Compiler.Pickle/ReaderState) 31,077 770,620 272,784 4,621,512
System.String.CreateStringFromEncoding(uint8*,int32,class System.Text.Encoding) 30,283 2,300,122 30,283 2,300,122
Microsoft.FSharp.Compiler.Import.ImportILTypeDefs@445.Invoke(class System.Tuple`4<class Microsoft.FSharp.Collections.FSharpList`1<string>,string,class Microsoft.FSharp.Compiler.AbstractIL.IL/ILAttributes,class System.Lazy`1<class Microsoft.FSharp.Compiler.AbstractIL.IL/ILTypeDef>>) 29,541 512,044 78,776 1,378,580
System.String.CtorCharArrayStartLength(char[],int32,int32) 25,331 717,894 25,331 717,894
Microsoft.FSharp.Compiler.AbstractIL.ILBinaryReader.seekReadTypeDefRowUncached(class Microsoft.FSharp.Core.FSharpRef`1<class Microsoft.FSharp.Core.FSharpOption`1<class Microsoft.FSharp.Compiler.AbstractIL.ILBinaryReader/ILReaderContext>>,int32) 23,528 564,672 23,528 564,672
Microsoft.FSharp.Compiler.AbstractIL.ILBinaryReader.seekReadGenericParamRow(class Microsoft.FSharp.Compiler.AbstractIL.ILBinaryReader/ILReaderContext,int32) 20,766 415,320 20,766 415,320
System.Diagnostics.NtProcessInfoHelper.GetProcessInfos(native int) 19,739 1,142,818 23,233 1,332,440
Microsoft.FSharp.Compiler.Pickle.u_ValReprInfo(class Microsoft.FSharp.Compiler.Pickle/ReaderState) 18,306 244,080 90,580 1,371,804
Microsoft.FSharp.Compiler.Pickle.clo@2455-45.Invoke(class Microsoft.FSharp.Compiler.Pickle/ReaderState) 16,968 203,616 75,012 1,198,500
Microsoft.FSharp.Compiler.Import.multisetDiscriminateAndMap(class Microsoft.FSharp.Core.FSharpFunc`2<!!0,class Microsoft.FSharp.Core.FSharpFunc`2<class Microsoft.FSharp.Collections.FSharpList`1<class System.Tuple`2<class Microsoft.FSharp.Collections.FSharpList`1<!!0>,!!1>>,!!2>>,class Microsoft.FSharp.Core.FSharpFunc`2<!!1,!!2>,class Microsoft.FSharp.Collections.FSharpList`1<class System.Tuple`2<class Microsoft.FSharp.Collections.FSharpList`1<!!0>,!!1>>) 16,253 262,256 221,146 4,228,173
System.Tuple`4.System.Collections.IStructuralEquatable.Equals(object,class System.Collections.IEqualityComparer) 15,680 188,160 15,680 188,160
Microsoft.FSharp.Compiler.Pickle.clo@1509-23.Invoke(class Microsoft.FSharp.Compiler.Pickle/ReaderState) 15,441 304,268 79,268 1,391,784
Microsoft.FSharp.Compiler.Pickle.u_cpath(class Microsoft.FSharp.Compiler.Pickle/ReaderState) 14,628 204,792 29,445 420,300
Microsoft.FSharp.Collections.MapTree`2.NewMapNode(!0,!1,class Microsoft.FSharp.Collections.MapTree`2<!0,!1>,class Microsoft.FSharp.Collections.MapTree`2<!0,!1>,int32) 13,871 388,388 13,871 388,388
Microsoft.FSharp.Compiler.Pickle.utyparspec_data(class Microsoft.FSharp.Compiler.Pickle/ReaderState) 13,308 266,160 36,539 649,680
Microsoft.FSharp.Compiler.Lexfilter.unindentationLimit@624(class Microsoft.FSharp.Compiler.Lexfilter/Context,bool,class Microsoft.FSharp.Collections.FSharpList`1<class Microsoft.FSharp.Compiler.Lexfilter/Context>) 11,853 189,648 11,853 189,648
Microsoft.FSharp.Compiler.Pickle.u_ArgReprInfo(class Microsoft.FSharp.Compiler.Pickle/ReaderState) 11,574 149,492 36,900 520,996
Microsoft.FSharp.Compiler.Pickle.u_tcref@1241.Invoke(class Microsoft.FSharp.Compiler.Pickle/ReaderState) 11,104 177,664 11,104 177,664
Microsoft.FSharp.Compiler.Pickle.u_access(class Microsoft.FSharp.Compiler.Pickle/ReaderState) 11,078 132,936 41,806 587,236
System.String.InternalSubString(int32,int32,bool) 10,747 392,114 10,747 392,114
System.String.CreateString(int8*,int32,int32,class System.Text.Encoding) 10,699 330,500 21,398 884,510
Microsoft.FSharp.Compiler.Pickle.unpickleObjWithDanglingCcus@770-6.Invoke(class Microsoft.FSharp.Core.Unit) 10,382 124,584 10,382 124,584
Microsoft.FSharp.Control.LazyExtensions.CreateFromValue(!!0) 10,310 123,720 51,550 907,280
Microsoft.FSharp.Compiler.Tast.Typar.NewUnlinked() 10,300 164,800 10,300 164,800
Microsoft.FSharp.Compiler.AbstractIL.ILBinaryReader.readBlobHeapAsSplitTypeName(class Microsoft.FSharp.Compiler.AbstractIL.ILBinaryReader/ILReaderContext,int32,int32) 9,847 157,552 41,804 1,701,940
Microsoft.FSharp.Compiler.Pickle.u_ident(class Microsoft.FSharp.Compiler.Pickle/ReaderState) 8,584 171,680 8,584 171,680
Microsoft.FSharp.Compiler.Pickle.unonlocalval_ref(class Microsoft.FSharp.Compiler.Pickle/ReaderState) 8,192 139,264 34,930 584,164
System.Tuple`4.System.Collections.IStructuralEquatable.GetHashCode(class System.Collections.IEqualityComparer) 8,096 97,152 8,096 97,152
Microsoft.FSharp.Compiler.Pickle.u_attrib(class Microsoft.FSharp.Compiler.Pickle/ReaderState) 7,842 162,068 41,194 719,820
Microsoft.FSharp.Core.OptimizedClosures.FSharpFunc`3.Invoke(!0) 7,694 123,104 7,694 123,104
Microsoft.FSharp.Compiler.Parser.fsyaccreductions() 7,224 115,584 7,224 115,584
Microsoft.FSharp.Compiler.Pickle.uentityspec_data(class Microsoft.FSharp.Compiler.Pickle/ReaderState) 7,101 161,084 407,206 6,935,488
Microsoft.FSharp.Compiler.Parser.fsyaccreductions@14438-1110.Invoke(class Internal.Utilities.Text.Parsing.IParseState) 7,057 141,140 7,057 141,140
Microsoft.FSharp.Compiler.Parser.fsyaccreductions@11329-832.Invoke(class Internal.Utilities.Text.Parsing.IParseState) 6,832 109,312 6,832 109,312
Microsoft.FSharp.Compiler.Pickle.u_tcaug(class Microsoft.FSharp.Compiler.Pickle/ReaderState) 6,690 114,176 57,850 1,027,660
Microsoft.FSharp.Compiler.AbstractIL.ILBinaryReader.seekReadGenericParamsUncached(class Microsoft.FSharp.Core.FSharpRef`1<class Microsoft.FSharp.Core.FSharpOption`1<class Microsoft.FSharp.Compiler.AbstractIL.ILBinaryReader/ILReaderContext>>,class Microsoft.FSharp.Compiler.AbstractIL.ILBinaryReader/GenericParamsIdx) 6,444 85,920 36,683 664,149
Microsoft.FSharp.Compiler.Pickle.u_ValReprInfo@1570-2.Invoke(class Microsoft.FSharp.Compiler.Pickle/ReaderState) 5,643 67,716 39,033 580,448
Microsoft.FSharp.Collections.FSharpList`1.System-Collections-Generic-IEnumerable`1-GetEnumerator() 5,527 110,540 5,527 110,540
Microsoft.FSharp.Compiler.AbstractIL.IL.lazyMap(class Microsoft.FSharp.Core.FSharpFunc`2<!!0,!!1>,class System.Lazy`1<!!0>) 5,300 84,800 5,300 84,800
Microsoft.FSharp.Compiler.AbstractIL.ILBinaryReader.genOpenBinaryReader(string,class Microsoft.FSharp.Compiler.AbstractIL.ILBinaryReader/InputChannel,class Microsoft.FSharp.Compiler.AbstractIL.ILBinaryReader/ILReaderOptions) 5,295 134,748 35,312 2,075,716

Last edited Nov 21, 2014 at 5:13 PM by dsyme, version 2