merge(3p/immer): Subtree merge at 'ad3e3556d' as 'third_party/immer'
Change-Id: I9636a41ad44b4218293833fd3e9456d9b07c731b
This commit is contained in:
		
						commit
						1213b086a1
					
				
					 311 changed files with 74223 additions and 0 deletions
				
			
		
							
								
								
									
										45
									
								
								third_party/immer/extra/python/benchmark/test_benchmarks.py
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								third_party/immer/extra/python/benchmark/test_benchmarks.py
									
										
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,45 @@ | |||
| 
 | ||||
| # immer: immutable data structures for C++ | ||||
| # Copyright (C) 2016, 2017, 2018 Juan Pedro Bolivar Puente | ||||
| # | ||||
| # This software is distributed under the Boost Software License, Version 1.0. | ||||
| # See accompanying file LICENSE or copy at http://boost.org/LICENSE_1_0.txt | ||||
| 
 | ||||
| ## | ||||
| 
 | ||||
| import immer | ||||
| import pyrsistent | ||||
| 
 | ||||
| BENCHMARK_SIZE = 1000 | ||||
| 
 | ||||
| def push(v, n=BENCHMARK_SIZE): | ||||
|     for x in xrange(n): | ||||
|         v = v.append(x) | ||||
|     return v | ||||
| 
 | ||||
| def assoc(v): | ||||
|     for i in xrange(len(v)): | ||||
|         v = v.set(i, i+1) | ||||
|     return v | ||||
| 
 | ||||
| def index(v): | ||||
|     for i in xrange(len(v)): | ||||
|         v[i] | ||||
| 
 | ||||
| def test_push_immer(benchmark): | ||||
|     benchmark(push, immer.Vector()) | ||||
| 
 | ||||
| def test_push_pyrsistent(benchmark): | ||||
|     benchmark(push, pyrsistent.pvector()) | ||||
| 
 | ||||
| def test_assoc_immer(benchmark): | ||||
|     benchmark(assoc, push(immer.Vector())) | ||||
| 
 | ||||
| def test_assoc_pyrsistent(benchmark): | ||||
|     benchmark(assoc, push(pyrsistent.pvector())) | ||||
| 
 | ||||
| def test_index_immer(benchmark): | ||||
|     benchmark(index, push(immer.Vector())) | ||||
| 
 | ||||
| def test_index_pyrsistent(benchmark): | ||||
|     benchmark(index, push(pyrsistent.pvector())) | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue