 b6e78bd1a3
			
		
	
	b6e78bd1a3
	
	
	
		
			
			* MultiServer: speed up location commands Adds optimized pure python wrapper around locations dict Adds optimized cython implementation of the wrapper, saving cpu time and 80% memory use * Speedups: auto-build on import and build during setup * Speedups: add requirements * CI: don't break with build_ext * Speedups: use C++ compiler for pyximport * Speedups: cleanup and more validation * Speedups: add tests for LocationStore * Setup: delete temp in-place build modules * Speedups: more tests and safer indices The change has no security implications, but ensures that entries[IndexEntry.start] is always valid. * Speedups: add cython3 compatibility * Speedups: remove unused import * Speedups: reformat * Speedup: fix empty set in test * Speedups: use regular dict in Locations.get_for_player * CI: run unittests with beta cython now with 2x nicer names
		
			
				
	
	
		
			9 lines
		
	
	
		
			357 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			9 lines
		
	
	
		
			357 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # This file is required to get pyximport to work with C++.
 | |
| # Switching from std::set to a pure C implementation is still on the table to simplify everything.
 | |
| 
 | |
| def make_ext(modname, pyxfilename):
 | |
|     from distutils.extension import Extension
 | |
|     return Extension(name=modname,
 | |
|                      sources=[pyxfilename],
 | |
|                      language='c++')
 |