[FEATURE] xpool improvements #345
 Closed
		
		
			
				
				
					
						opened 2024-05-24 22:39:19 +03:00  by vtolstov
					
					·
					1 comment
				
			
		
	
		No Branch/Tag Specified
		
	
	v4
			
				v3
			
				vtolstov-patch-1
			
		v3.11.48
			
				v3.11.47
			
				v3.11.46
			
				v4.1.24
			
				v4.1.23
			
				v4.1.22
			
				v4.1.21
			
				v3.11.45
			
				v4.1.20
			
				v4.1.19
			
				v4.1.18
			
				v4.1.17
			
				v4.1.16
			
				v4.1.15
			
				v3.11.44
			
				v4.1.14
			
				v4.1.13
			
				v4.1.12
			
				v4.1.11
			
				v4.1.10
			
				v4.1.9
			
				v4.1.8
			
				v4.1.7
			
				v4.1.6
			
				v3.11.43
			
				v4.1.5
			
				v4.1.4
			
				v4.1.3
			
				v3.11.42
			
				v3.11.41
			
				v4.1.2
			
				v4.1.1
			
				v4.1.0
			
				v3.11.40
			
				v3.11.39
			
				v3.11.38
			
				v3.11.37
			
				v3.11.36
			
				v3.11.35
			
				v3.11.34
			
				v3.11.33
			
				v3.11.32
			
				v3.11.31
			
				v3.11.30
			
				v3.11.29
			
				v3.11.28
			
				v3.11.27
			
				v3.11.26
			
				v3.11.25
			
				v3.11.24
			
				v3.11.23
			
				v3.11.22
			
				v3.11.21
			
				v3.11.20
			
				v3.11.19
			
				v3.11.18
			
				v3.11.17
			
				v3.11.16
			
				v3.11.15
			
				v3.11.14
			
				v3.11.13
			
				v3.11.12
			
				v3.11.1
			
				v3.11.0
			
				v3.10.109
			
				v3.10.108
			
				v3.10.107
			
				v3.10.106
			
				v3.10.105
			
				v3.10.104
			
				v3.10.103
			
				v3.10.102
			
				v3.10.101
			
				v3.10.100
			
				v3.10.99
			
				v3.10.98
			
				v3.10.97
			
				v3.10.96
			
				v3.10.95
			
				v3.10.94
			
				v3.10.93
			
				v3.10.92
			
				v3.10.91
			
				v3.10.90
			
				v3.10.89
			
				v3.10.88
			
				v3.10.87
			
				v3.10.86
			
				v3.10.85
			
				v3.10.84
			
				v3.10.83
			
				v3.10.82
			
				v3.10.81
			
				v3.10.80
			
				v3.10.79
			
				v3.10.78
			
				v3.10.77
			
				v3.10.76
			
				v3.10.75
			
				v3.10.74
			
				v3.10.73
			
				v3.10.72
			
				v3.10.71
			
				v3.10.69
			
				v3.10.68
			
				v3.10.67
			
				v3.10.66
			
				v3.10.65
			
				v3.10.64
			
				v3.10.63
			
				v3.10.62
			
				v3.10.61
			
				v3.10.60
			
				v3.10.59
			
				v3.10.58
			
				v4.0.20
			
				v3.10.57
			
				v3.10.56
			
				v3.10.55
			
				v3.10.54
			
				v3.10.53
			
				v4.0.19
			
				v3.10.52
			
				v3.10.51
			
				v4.0.18
			
				v3.10.50
			
				v3.10.49
			
				v3.10.48
			
				v3.10.47
			
				v3.10.46
			
				v3.10.45
			
				v3.10.44
			
				v4.0.17
			
				v3.10.43
			
				v3.10.42
			
				v3.10.41
			
				v4.0.16
			
				v3.10.40
			
				v3.10.39
			
				v3.10.38
			
				v3.10.37
			
				v4.0.15
			
				v3.10.36
			
				v3.10.35
			
				v3.10.34
			
				v3.10.33
			
				v3.10.32
			
				v3.10.31
			
				v3.10.30
			
				v3.10.29
			
				v4.0.14
			
				v4.0.13
			
				v4.0.12
			
				v4.0.11
			
				v3.10.28
			
				v4.0.10
			
				v4.0.9
			
				v3.10.27
			
				v3.10.26
			
				v4.0.8
			
				v4.0.7
			
				v4.0.6
			
				v3.10.25
			
				v3.10.24
			
				v4.0.5
			
				v3.10.23
			
				v4.0.4
			
				v3.10.22
			
				v4.0.3
			
				v3.10.21
			
				v3.10.20
			
				v4.0.2
			
				v4.0.1
			
				v4.0.0
			
				v3.10.19
			
				v3.10.18
			
				v3.10.16
			
				v3.10.15
			
				v3.10.14
			
				v3.10.13
			
				v3.10.12
			
				v3.10.11
			
				v3.10.10
			
				v3.10.9
			
				v3.10.8
			
				v3.10.7
			
				v3.10.6
			
				v3.10.5
			
				v3.10.4
			
				v3.10.3
			
				v3.10.2
			
				v3.10.1
			
				v3.10.0
			
				v3.9.19
			
				v3.9.18
			
				v3.9.17
			
				v3.9.16
			
				v3.9.15
			
				v3.9.14
			
				v3.9.13
			
				v3.9.12
			
				v3.9.11
			
				v3.9.10
			
				v3.9.8
			
				v3.9.7
			
				v3.9.6
			
				v3.9.5
			
				v3.9.4
			
				v3.9.3
			
				v3.9.2
			
				v3.9.1
			
				v3.9.0
			
				v3.8.21
			
				v3.8.20
			
				v3.8.19
			
				v3.8.18
			
				v3.8.17
			
				v3.8.16
			
				v3.8.15
			
				v3.8.14
			
				v3.8.13
			
				v3.8.12
			
				v3.8.11
			
				v3.8.10
			
				v3.8.9
			
				v3.8.8
			
				v3.8.7
			
				v3.8.6
			
				v3.8.5
			
				v3.8.4
			
				v3.8.3
			
				v3.8.2
			
				v3.8.1
			
				v3.8.0
			
				v3.7.8
			
				v3.7.7
			
				v3.7.6
			
				v3.7.5
			
				v3.7.4
			
				v3.7.3
			
				v3.7.2
			
				v3.7.1
			
				v3.7.0
			
				v3.6.3
			
				v3.6.2
			
				v3.6.1
			
				v3.6.0
			
				v3.5.10
			
				v3.5.9
			
				v3.5.8
			
				v3.5.7
			
				v3.5.6
			
				v3.5.5
			
				v3.5.4
			
				v3.5.3
			
				v3.5.2
			
				v3.5.1
			
				v3.5.0
			
				v3.4.11
			
				v3.4.10
			
				v3.4.9
			
				v3.4.8
			
				v3.4.7
			
				v3.4.6
			
				v3.4.5
			
				v3.4.4
			
				v3.4.3
			
				v3.4.2
			
				v3.4.0
			
				v3.4.1
			
				v3.3.23
			
				v3.3.22
			
				v3.3.21
			
				v3.3.20
			
				v3.3.19
			
				v3.3.18
			
				v3.3.17
			
				v3.3.16
			
				v3.3.15
			
				v3.3.14
			
				v3.3.13
			
				v3.3.12
			
				v3.3.11
			
				v3.3.10
			
				v3.3.9
			
				v3.3.8
			
				v3.3.7
			
				v3.3.6
			
				v3.3.5
			
				v3.3.4
			
				v3.3.3
			
				v3.3.2
			
				v3.3.1
			
				v3.3.0
			
				v3.2.26
			
				v3.2.25
			
				v3.2.24
			
				v3.2.23
			
				v3.2.22
			
				v3.2.21
			
				v3.2.20
			
				v3.2.19
			
				v3.2.18
			
				v3.2.17
			
				v3.2.16
			
				v3.2.15
			
				v3.2.14
			
				v3.2.13
			
				v3.2.12
			
				v3.2.11
			
				v3.2.10
			
				v3.2.9
			
				v3.2.8
			
				v3.2.7
			
				v3.2.6
			
				v3.2.5
			
				v3.2.4
			
				v3.2.3
			
				v3.2.2
			
				v3.2.1
			
				v3.2.0
			
				v3.1.9
			
				v3.1.8
			
				v3.1.7
			
				v3.1.6
			
				v3.1.5
			
				v3.1.4
			
				v3.1.3
			
				v3.1.2
			
				v3.1.0
			
				v3.1.1
			
				v3.0.1
			
				v3.0.0-delta
			
				v3.0.0
			
				v3.0.0-beta.3
			
				v3.0.0-beta.2
			
				v3.0.0-gamma
			
				v3.0.0-beta
			
				v3.0.0-alpha
			
				v2.9.1
			
				v2.9.0
			
				v2.8.0
			
				v2.7.0
			
				v2.6.0
			
				show
			
				v2.5.0
			
				v2.4.0
			
				v2.3.0
			
				v2.2.0
			
				v2.1.2
			
				v2.1.1
			
				v2.1.0
			
				v2.0.0
			
				v1.18.0
			
				v1.17.1
			
				v1.17.0
			
				v1.16.0
			
				v1.15.1
			
				v1.15.0
			
				v1.14.0
			
				v1.13.2
			
				v1.13.1
			
				v1.13.0
			
				v1.12.0
			
				v1.11.0
			
				v1.10.0
			
				v1.9.1
			
				v1.9.0
			
				v1.8.3
			
				v1.8.2
			
				v1.8.1
			
				v1.8.0
			
				v1.7.0
			
				v1.6.0
			
				v1.5.0
			
				v1.4.0
			
				v1.3.1
			
				v1.3.0
			
				v1.2.0
			
				v1.1.0
			
				v1.0.0
			
				v0.27.1
			
				v0.27.0
			
				v0.26.1
			
				v0.26.0
			
				v0.25.0
			
				v0.24.1
			
				v0.24.0
			
				v0.23.0
			
				v0.22.1
			
				v0.22.0
			
				v0.21.0
			
				v0.20.0
			
				v0.17.0
			
				v0.16.0
			
				v0.15.1
			
				v0.15.0
			
				v0.14.1
			
				v0.14.0
			
				v0.13.0
			
				v0.12.0
			
				v0.11.0
			
				v0.10.0
			
				v0.9.0
			
				v0.8.0
			
				v0.7.0
			
				v0.6.0
			
				v0.5.0
			
				v0.4.0
			
				v0.3.0
			
				v0.2.0
			
				v0.1.4
			
				v0.1.3
			
				v0.1.2
			
				v0.1.1
			
				v0.1.0
			
		
		
			Labels 
		
		
			
				
					
					
				
				
	
	
					Clear labels
					
					
					
					
					
					
						
						
						
						
	
	Kind/Breaking
	
		
	
					
						
						
						
						
	
	Kind/Bug
	
		
	
					
						
						
						
						
	
	Kind/Documentation
	
		
	
					
						
						
						
						
	
	Kind/Enhancement
	
		
	
					
						
						
						
						
	
	Kind/Feature
	
		
	
					
						
						
						
						
	
	Kind/Security
	
		
	
					
						
						
						
						
	
	Kind/Testing
	
		
	
					
						
						
							
						
						
						
	
	
		
	
					
						
						
						
						
	
	
		
	
					
						
						
						
						
	
	
		
	
					
						
						
						
						
	
	
		
	
					
						
						
							
						
						
						
	
	
		
	
					
						
						
						
						
	
	
		
	
					
						
						
						
						
	
	
		
	
					
						
						
						
						
	
	
		
	
					
						
						
							
						
						
						
	
	
		
	
					
						
						
						
						
	
	
		
	
					
						
						
						
						
	
	
		
	
					
				
			
		Breaking change that won't be backward compatible
		Something is not working
		Documentation changes
		Improve existing functionality
		New functionality
		This is security issue
		Issue or pull request related to testing
		Priority
Critical
	The priority is critical
		Priority
High
	The priority is high
		Priority
Low
	The priority is low
		Priority
Medium
	The priority is medium
		Reviewed
Confirmed
	Issue has been confirmed
		Reviewed
Duplicate
	This issue or pull request already exists
		Reviewed
Invalid
	Invalid issue
		Reviewed
Won't Fix
	This issue won't be fixed
		Status
Abandoned
	Somebody has started to work on this but abandoned work
		Status
Blocked
	Something is blocking this issue or pull request
		Status
Need More Info
	Feedback is required to reproduce issue or to continue work
		
		No Label
		
			
		
			
		
			
		
			
		
			
		
			
		
			
		
			
		
			
		
			
		
			
		
			
		
			
		
			
		
			
		
			
		
			
		
			
		
	
		
			Milestone 
		
		
			
				
	
	No items
			
		
		No Milestone
		
	
		
			Projects 
		
		
			
			
				
		
	
	Clear projects
				
				
				
				
			
		No project
		
	
		No Assignees
		
	
		Notifications
		
			
		
	
	
	
	
	
Due Date
	
		No due date set.
	
	
	
	
	
		
			Dependencies
			
			
	
	
No dependencies set.
	Reference: unistack-org/micro#345
	
	
	
		Reference in New Issue
	
	Block a user
	Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
		
	
		
		Delete Branch "%!s()"
	 
	Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Про memory arena пока не трогаем, так как оно экспериментальное. Суть состоит в том, что сейчас пакет xpool позволяет создать через дженерик пул откуда можно брать []byte или *bytes.Buffer
суть правки состоит в том, чтобы выходящие за пределы области отсекать - то есть если в большинстве случаев нам нужен буфер до 4Кб, но изредка нам требуется 1Мб, то хранить в пуле только куски по 4Кб, а те что по 1Мб откидывать гарбадж коллектору.
NewPool должен принимать не только fn-функцию , которая создает новый инстанс, но добавляется параметр maxCapacity int , который
done