...

Source file src/runtime/sizeclasses.go

Documentation: runtime

		 1  // Code generated by mksizeclasses.go; DO NOT EDIT.
		 2  //go:generate go run mksizeclasses.go
		 3  
		 4  package runtime
		 5  
		 6  // class	bytes/obj	bytes/span	objects	tail waste	max waste	min align
		 7  //		 1					8				8192		 1024					 0		 87.50%					8
		 8  //		 2				 16				8192			512					 0		 43.75%				 16
		 9  //		 3				 24				8192			341					 8		 29.24%					8
		10  //		 4				 32				8192			256					 0		 21.88%				 32
		11  //		 5				 48				8192			170					32		 31.52%				 16
		12  //		 6				 64				8192			128					 0		 23.44%				 64
		13  //		 7				 80				8192			102					32		 19.07%				 16
		14  //		 8				 96				8192			 85					32		 15.95%				 32
		15  //		 9				112				8192			 73					16		 13.56%				 16
		16  //		10				128				8192			 64					 0		 11.72%				128
		17  //		11				144				8192			 56				 128		 11.82%				 16
		18  //		12				160				8192			 51					32			9.73%				 32
		19  //		13				176				8192			 46					96			9.59%				 16
		20  //		14				192				8192			 42				 128			9.25%				 64
		21  //		15				208				8192			 39					80			8.12%				 16
		22  //		16				224				8192			 36				 128			8.15%				 32
		23  //		17				240				8192			 34					32			6.62%				 16
		24  //		18				256				8192			 32					 0			5.86%				256
		25  //		19				288				8192			 28				 128		 12.16%				 32
		26  //		20				320				8192			 25				 192		 11.80%				 64
		27  //		21				352				8192			 23					96			9.88%				 32
		28  //		22				384				8192			 21				 128			9.51%				128
		29  //		23				416				8192			 19				 288		 10.71%				 32
		30  //		24				448				8192			 18				 128			8.37%				 64
		31  //		25				480				8192			 17					32			6.82%				 32
		32  //		26				512				8192			 16					 0			6.05%				512
		33  //		27				576				8192			 14				 128		 12.33%				 64
		34  //		28				640				8192			 12				 512		 15.48%				128
		35  //		29				704				8192			 11				 448		 13.93%				 64
		36  //		30				768				8192			 10				 512		 13.94%				256
		37  //		31				896				8192				9				 128		 15.52%				128
		38  //		32			 1024				8192				8					 0		 12.40%			 1024
		39  //		33			 1152				8192				7				 128		 12.41%				128
		40  //		34			 1280				8192				6				 512		 15.55%				256
		41  //		35			 1408			 16384			 11				 896		 14.00%				128
		42  //		36			 1536				8192				5				 512		 14.00%				512
		43  //		37			 1792			 16384				9				 256		 15.57%				256
		44  //		38			 2048				8192				4					 0		 12.45%			 2048
		45  //		39			 2304			 16384				7				 256		 12.46%				256
		46  //		40			 2688				8192				3				 128		 15.59%				128
		47  //		41			 3072			 24576				8					 0		 12.47%			 1024
		48  //		42			 3200			 16384				5				 384			6.22%				128
		49  //		43			 3456			 24576				7				 384			8.83%				128
		50  //		44			 4096				8192				2					 0		 15.60%			 4096
		51  //		45			 4864			 24576				5				 256		 16.65%				256
		52  //		46			 5376			 16384				3				 256		 10.92%				256
		53  //		47			 6144			 24576				4					 0		 12.48%			 2048
		54  //		48			 6528			 32768				5				 128			6.23%				128
		55  //		49			 6784			 40960				6				 256			4.36%				128
		56  //		50			 6912			 49152				7				 768			3.37%				256
		57  //		51			 8192				8192				1					 0		 15.61%			 8192
		58  //		52			 9472			 57344				6				 512		 14.28%				256
		59  //		53			 9728			 49152				5				 512			3.64%				512
		60  //		54			10240			 40960				4					 0			4.99%			 2048
		61  //		55			10880			 32768				3				 128			6.24%				128
		62  //		56			12288			 24576				2					 0		 11.45%			 4096
		63  //		57			13568			 40960				3				 256			9.99%				256
		64  //		58			14336			 57344				4					 0			5.35%			 2048
		65  //		59			16384			 16384				1					 0		 12.49%			 8192
		66  //		60			18432			 73728				4					 0		 11.11%			 2048
		67  //		61			19072			 57344				3				 128			3.57%				128
		68  //		62			20480			 40960				2					 0			6.87%			 4096
		69  //		63			21760			 65536				3				 256			6.25%				256
		70  //		64			24576			 24576				1					 0		 11.45%			 8192
		71  //		65			27264			 81920				3				 128		 10.00%				128
		72  //		66			28672			 57344				2					 0			4.91%			 4096
		73  //		67			32768			 32768				1					 0		 12.50%			 8192
		74  
		75  // alignment	bits	min obj size
		76  //				 8		 3						 8
		77  //				16		 4						32
		78  //				32		 5					 256
		79  //				64		 6					 512
		80  //			 128		 7					 768
		81  //			4096		12				 28672
		82  //			8192		13				 32768
		83  
		84  const (
		85  	_MaxSmallSize	 = 32768
		86  	smallSizeDiv		= 8
		87  	smallSizeMax		= 1024
		88  	largeSizeDiv		= 128
		89  	_NumSizeClasses = 68
		90  	_PageShift			= 13
		91  )
		92  
		93  var class_to_size = [_NumSizeClasses]uint16{0, 8, 16, 24, 32, 48, 64, 80, 96, 112, 128, 144, 160, 176, 192, 208, 224, 240, 256, 288, 320, 352, 384, 416, 448, 480, 512, 576, 640, 704, 768, 896, 1024, 1152, 1280, 1408, 1536, 1792, 2048, 2304, 2688, 3072, 3200, 3456, 4096, 4864, 5376, 6144, 6528, 6784, 6912, 8192, 9472, 9728, 10240, 10880, 12288, 13568, 14336, 16384, 18432, 19072, 20480, 21760, 24576, 27264, 28672, 32768}
		94  var class_to_allocnpages = [_NumSizeClasses]uint8{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 3, 2, 3, 1, 3, 2, 3, 4, 5, 6, 1, 7, 6, 5, 4, 3, 5, 7, 2, 9, 7, 5, 8, 3, 10, 7, 4}
		95  var class_to_divmagic = [_NumSizeClasses]uint32{0, ^uint32(0)/8 + 1, ^uint32(0)/16 + 1, ^uint32(0)/24 + 1, ^uint32(0)/32 + 1, ^uint32(0)/48 + 1, ^uint32(0)/64 + 1, ^uint32(0)/80 + 1, ^uint32(0)/96 + 1, ^uint32(0)/112 + 1, ^uint32(0)/128 + 1, ^uint32(0)/144 + 1, ^uint32(0)/160 + 1, ^uint32(0)/176 + 1, ^uint32(0)/192 + 1, ^uint32(0)/208 + 1, ^uint32(0)/224 + 1, ^uint32(0)/240 + 1, ^uint32(0)/256 + 1, ^uint32(0)/288 + 1, ^uint32(0)/320 + 1, ^uint32(0)/352 + 1, ^uint32(0)/384 + 1, ^uint32(0)/416 + 1, ^uint32(0)/448 + 1, ^uint32(0)/480 + 1, ^uint32(0)/512 + 1, ^uint32(0)/576 + 1, ^uint32(0)/640 + 1, ^uint32(0)/704 + 1, ^uint32(0)/768 + 1, ^uint32(0)/896 + 1, ^uint32(0)/1024 + 1, ^uint32(0)/1152 + 1, ^uint32(0)/1280 + 1, ^uint32(0)/1408 + 1, ^uint32(0)/1536 + 1, ^uint32(0)/1792 + 1, ^uint32(0)/2048 + 1, ^uint32(0)/2304 + 1, ^uint32(0)/2688 + 1, ^uint32(0)/3072 + 1, ^uint32(0)/3200 + 1, ^uint32(0)/3456 + 1, ^uint32(0)/4096 + 1, ^uint32(0)/4864 + 1, ^uint32(0)/5376 + 1, ^uint32(0)/6144 + 1, ^uint32(0)/6528 + 1, ^uint32(0)/6784 + 1, ^uint32(0)/6912 + 1, ^uint32(0)/8192 + 1, ^uint32(0)/9472 + 1, ^uint32(0)/9728 + 1, ^uint32(0)/10240 + 1, ^uint32(0)/10880 + 1, ^uint32(0)/12288 + 1, ^uint32(0)/13568 + 1, ^uint32(0)/14336 + 1, ^uint32(0)/16384 + 1, ^uint32(0)/18432 + 1, ^uint32(0)/19072 + 1, ^uint32(0)/20480 + 1, ^uint32(0)/21760 + 1, ^uint32(0)/24576 + 1, ^uint32(0)/27264 + 1, ^uint32(0)/28672 + 1, ^uint32(0)/32768 + 1}
		96  var size_to_class8 = [smallSizeMax/smallSizeDiv + 1]uint8{0, 1, 2, 3, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 23, 23, 23, 23, 24, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32}
		97  var size_to_class128 = [(_MaxSmallSize-smallSizeMax)/largeSizeDiv + 1]uint8{32, 33, 34, 35, 36, 37, 37, 38, 38, 39, 39, 40, 40, 40, 41, 41, 41, 42, 43, 43, 44, 44, 44, 44, 44, 45, 45, 45, 45, 45, 45, 46, 46, 46, 46, 47, 47, 47, 47, 47, 47, 48, 48, 48, 49, 49, 50, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 53, 53, 54, 54, 54, 54, 55, 55, 55, 55, 55, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 58, 58, 58, 58, 58, 58, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 61, 61, 61, 61, 61, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67}
		98  

View as plain text