| 
							
							
								 Nick Pope | b47f2f5b90 | Fixed #33865 -- Optimized LimitedStream wrapper. The current implementation of LimitedStream is slow because .read()
performs an extra copy into a buffer and .readline() performs two
extra copies. The stream being wrapped is already typically a BytesIO
object so this is unnecessary.
This implementation has largely been untouched for 12 years and,
inspired by a simpler implementation in werkzeug, it was possible to
achieve the following performance improvement:
LimitedStream.read() (single line):
  Mean +- std dev: [bench_limitedstream-main] 286 ns +- 6 ns
  -> [bench_limitedstream-patch] 227 ns +- 6 ns: 1.26x faster
LimitedStream.readline() (single line):
  Mean +- std dev: [bench_limitedstream-main] 507 ns +- 11 ns
  -> [bench_limitedstream-patch] 232 ns +- 8 ns: 2.18x faster
LimitedStream.read(8192) (single line):
  Mean +- std dev: [bench_limitedstream-main] 360 ns +- 8 ns
  -> [bench_limitedstream-patch] 297 ns +- 6 ns: 1.21x faster
LimitedStream.readline(8192) (single line):
  Mean +- std dev: [bench_limitedstream-main] 602 ns +- 10 ns
  -> [bench_limitedstream-patch] 305 ns +- 10 ns: 1.98x faster
LimitedStream.read() (multiple lines):
  Mean +- std dev: [bench_limitedstream-main] 290 ns +- 5 ns
  -> [bench_limitedstream-patch] 236 ns +- 6 ns: 1.23x faster
LimitedStream.readline() (multiple lines):
  Mean +- std dev: [bench_limitedstream-main] 517 ns +- 19 ns
  -> [bench_limitedstream-patch] 239 ns +- 7 ns: 2.16x faster
LimitedStream.read(8192) (multiple lines):
  Mean +- std dev: [bench_limitedstream-main] 363 ns +- 8 ns
  -> [bench_limitedstream-patch] 311 ns +- 11 ns: 1.17x faster
LimitedStream.readline(8192) (multiple lines):
  Mean +- std dev: [bench_limitedstream-main] 601 ns +- 12 ns
  -> [bench_limitedstream-patch] 308 ns +- 7 ns: 1.95x faster
Geometric mean: 1.59x faster | 2023-01-05 19:26:56 +01:00 |  | 
			
				
					| 
							
							
								 django-bot | 9c19aff7c7 | Refs #33476 -- Reformatted code with Black. | 2022-02-07 20:37:05 +01:00 |  | 
			
				
					| 
							
							
								 Tom Forbes | 141ab6bc6d | Refs #29069 -- Added test for calling request_finished signal by static file responses. Fixed in 41a3b3d186. | 2020-04-20 06:17:57 +02:00 |  | 
			
				
					| 
							
							
								 Florian Apolloner | 41a3b3d186 | Fixed #31240 -- Properly closed FileResponse when wsgi.file_wrapper is used. Thanks to Oskar Persson for the report. | 2020-02-11 20:39:12 +01:00 |  | 
			
				
					| 
							
							
								 Min ho Kim | 7bd9633320 | Fixed typos in test names and a comment. | 2019-08-23 10:46:43 +02:00 |  | 
			
				
					| 
							
							
								 chillaranand | d6eaf7c018 | Refs #23919 -- Replaced super(ClassName, self) with super(). | 2017-01-25 12:23:46 -05:00 |  | 
			
				
					| 
							
							
								 Claude Paroz | 042b7350a0 | Refs #23919 -- Removed unneeded str() calls | 2017-01-20 14:13:55 +01:00 |  | 
			
				
					| 
							
							
								 Simon Charette | cecc079168 | Refs #23919 -- Stopped inheriting from object to define new style classes. | 2017-01-19 08:39:46 +01:00 |  | 
			
				
					| 
							
							
								 Claude Paroz | d7b9aaa366 | Refs #23919 -- Removed encoding preambles and future imports | 2017-01-18 09:55:19 +01:00 |  | 
			
				
					| 
							
							
								 Tim Graham | 7b05ffd95d | Removed a bit of builtin_server tests for Python ≤ 2.7.3. | 2016-11-10 22:20:09 -05:00 |  | 
			
				
					| 
							
							
								 za | 321e94fa41 | Refs #27392 -- Removed "Tests that", "Ensures that", etc. from test docstrings. | 2016-11-10 21:30:21 -05:00 |  | 
			
				
					| 
							
							
								 Tim Graham | 0ed7d15563 | Sorted imports with isort; refs #23860. | 2015-02-06 08:16:28 -05:00 |  | 
			
				
					| 
							
							
								 Ramiro Morales | 9a982d5ccc | Moved ServerHandler helper class to tests. It has been only used in the builtin_servers tests since Django 1.4. | 2014-03-30 20:55:40 -03:00 |  | 
			
				
					| 
							
							
								 Aymeric Augustin | cfcf4b3605 | Stopped using django.utils.unittest in the test suite. Refs #20680. | 2013-07-01 14:29:33 +02:00 |  | 
			
				
					| 
							
							
								 Matthew Wood | a7960bcb35 | Fixed #18972 -- Refactored bundled wsgi server's chunking algorithm. Thanks to amosonn at yahoo.com for the report, @doda for the initial patch and
@datagrok for the revamped logic and test case. | 2013-03-20 18:46:26 -04:00 |  | 
			
				
					| 
							
							
								 Florian Apolloner | 89f40e3624 | Merged regressiontests and modeltests into the test root. | 2013-02-26 14:36:57 +01:00 |  |