mirror of
				https://github.com/Mikaela/Limnoria.git
				synced 2025-10-31 07:37:22 +01:00 
			
		
		
		
	Added memoization optimization to tokenize function.
This commit is contained in:
		
							parent
							
								
									8fc200ae1f
								
							
						
					
					
						commit
						06cd9ae285
					
				| @ -263,6 +263,27 @@ class Tokenizer: | ||||
|                 args[-1].append(ends.pop()) | ||||
|         return args | ||||
| 
 | ||||
| _lastTokenized = None | ||||
| _lastTokenizeResult = None | ||||
| def tokenize(s): | ||||
|     """A utility function to create a Tokenizer and tokenize a string.""" | ||||
|     global _lastTokenized, _lastTokenizeResult | ||||
|     start = time.time() | ||||
|     try: | ||||
|         if s != _lastTokenized: | ||||
|             _lastTokenized = s | ||||
|             if conf.enablePipeSyntax: | ||||
|                 tokens = '|' | ||||
|             else: | ||||
|                 tokens = '' | ||||
|             _lastTokenizeResult = Tokenizer(tokens).tokenize(s) | ||||
|     except ValueError, e: | ||||
|         _lastTokenized = None | ||||
|         _lastTokenizedResult = None | ||||
|         raise SyntaxError, str(e) | ||||
|     debug.msg('tokenize took %s seconds.' % (time.time() - start), 'verbose') | ||||
|     return _lastTokenizeResult | ||||
| 
 | ||||
| def tokenize(s): | ||||
|     """A utility function to create a Tokenizer and tokenize a string.""" | ||||
|     start = time.time() | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Jeremy Fincher
						Jeremy Fincher