@@ -36,6 +36,10 @@ const (
3636 ContentXML = "text/xml"
3737 // Default character encoding.
3838 defaultCharset = "UTF-8"
39+ // Buffer pool size.
40+ bufferPoolSize = 32
41+ // Buffer pool capacity.
42+ bufferPoolCapacity = 1 << 19
3943)
4044
4145// helperFuncs had to be moved out. See helpers.go|helpers_pre16.go files.
@@ -197,7 +201,7 @@ func (r *Render) prepareOptions() {
197201 }
198202
199203 if r .opt .BufferPool == nil {
200- r .opt .BufferPool = NewSizedBufferPool (32 , 1 << 19 ) // 32 buffers of size 512KiB each
204+ r .opt .BufferPool = NewSizedBufferPool (bufferPoolSize , bufferPoolCapacity )
201205 }
202206
203207 if r .opt .IsDevelopment || r .opt .UseMutexLock {
@@ -210,6 +214,7 @@ func (r *Render) prepareOptions() {
210214func (r * Render ) CompileTemplates () {
211215 if r .opt .Asset == nil || r .opt .AssetNames == nil {
212216 r .compileTemplatesFromDir ()
217+
213218 return
214219 }
215220
@@ -276,10 +281,12 @@ func (r *Render) compileTemplatesFromDir() {
276281 }
277282
278283 // Break out if this parsing fails. We don't want any silent server starts.
279- template .Must (tmpl .Funcs (helperFuncs ).Parse (string (buf )))
284+ template .Must (tmpl .Funcs (helperFuncs ()).Parse (string (buf )))
285+
280286 break
281287 }
282288 }
289+
283290 return nil
284291 })
285292
@@ -346,7 +353,7 @@ func (r *Render) compileTemplatesFromAsset() {
346353 }
347354
348355 // Break out if this parsing fails. We don't want any silent server starts.
349- template .Must (tmpl .Funcs (helperFuncs ).Parse (string (buf )))
356+ template .Must (tmpl .Funcs (helperFuncs () ).Parse (string (buf )))
350357
351358 break
352359 }
@@ -370,6 +377,7 @@ func (r *Render) TemplateLookup(t string) *template.Template {
370377
371378func (r * Render ) execute (templates * template.Template , name string , binding interface {}) (* bytes.Buffer , error ) {
372379 buf := new (bytes.Buffer )
380+
373381 return buf , templates .ExecuteTemplate (buf , name , binding )
374382}
375383
@@ -395,6 +403,7 @@ func (r *Render) layoutFuncs(templates *template.Template, name string, binding
395403 // Return safe HTML here since we are rendering our own template.
396404 return template .HTML (buf .String ()), err
397405 }
406+
398407 return "" , nil
399408 },
400409 "partial" : func (partialName string ) (template.HTML , error ) {
@@ -407,6 +416,7 @@ func (r *Render) layoutFuncs(templates *template.Template, name string, binding
407416 // Return safe HTML here since we are rendering our own template.
408417 return template .HTML (buf .String ()), err
409418 }
419+
410420 return "" , nil
411421 },
412422 }
0 commit comments