You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							54 lines
						
					
					
						
							1.0 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							54 lines
						
					
					
						
							1.0 KiB
						
					
					
				
								package fileserver
							 | 
						|
								
							 | 
						|
								import (
							 | 
						|
									"html/template"
							 | 
						|
									"testing"
							 | 
						|
								
							 | 
						|
									"github.com/caddyserver/caddy/v2"
							 | 
						|
								)
							 | 
						|
								
							 | 
						|
								func BenchmarkBrowseWriteJSON(b *testing.B) {
							 | 
						|
									fsrv := new(FileServer)
							 | 
						|
									fsrv.Provision(caddy.Context{})
							 | 
						|
									listing := browseListing{
							 | 
						|
										Name:           "test",
							 | 
						|
										Path:           "test",
							 | 
						|
										CanGoUp:        false,
							 | 
						|
										Items:          make([]fileInfo, 100),
							 | 
						|
										NumDirs:        42,
							 | 
						|
										NumFiles:       420,
							 | 
						|
										Sort:           "",
							 | 
						|
										Order:          "",
							 | 
						|
										ItemsLimitedTo: 42,
							 | 
						|
									}
							 | 
						|
									b.ResetTimer()
							 | 
						|
								
							 | 
						|
									for n := 0; n < b.N; n++ {
							 | 
						|
										fsrv.browseWriteJSON(listing)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								func BenchmarkBrowseWriteHTML(b *testing.B) {
							 | 
						|
									fsrv := new(FileServer)
							 | 
						|
									fsrv.Provision(caddy.Context{})
							 | 
						|
									fsrv.Browse = &Browse{
							 | 
						|
										TemplateFile: "",
							 | 
						|
										template:     template.New("test"),
							 | 
						|
									}
							 | 
						|
									listing := browseListing{
							 | 
						|
										Name:           "test",
							 | 
						|
										Path:           "test",
							 | 
						|
										CanGoUp:        false,
							 | 
						|
										Items:          make([]fileInfo, 100),
							 | 
						|
										NumDirs:        42,
							 | 
						|
										NumFiles:       420,
							 | 
						|
										Sort:           "",
							 | 
						|
										Order:          "",
							 | 
						|
										ItemsLimitedTo: 42,
							 | 
						|
									}
							 | 
						|
									b.ResetTimer()
							 | 
						|
								
							 | 
						|
									for n := 0; n < b.N; n++ {
							 | 
						|
										fsrv.browseWriteHTML(listing)
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 |