cython/cython — pull request #348 by larsmans (2014-12-23 11:32:32+00:00)
Title: generate less code for exceptions (in common cases)

Using `PyErr_Set{None,Object}` for built-in exceptions can save a few hundred lines of C code per module because we don't need the whole `__Pyx_Raise` machinery. The new code is not pretty, but it even seems to improve performance; a simple function such as

```python
def foo():
try: raise ValueError('foo!')
except: pass
```

now runs in 36ns, vs. >70ns previously.