scoder

Results 66 issues of scoder

### Is your feature request related to a problem? Please describe. It can sometimes happen that Cython infers a C type for a value or variable, but then all usages...

feature
Optimization

### Describe the bug I ran the pyperformance benchmark `bm_async_generators` in Cython 3.0.x and master. https://github.com/python/pyperformance/blob/56d12a8fd7cc1432835965d374929bfa7f6f7a07/pyperformance/data-files/benchmarks/bm_async_generators/run_benchmark.py Cython 3.1 / master: $ python3.12 -m timeit -s 'import asyncio, run_benchmark as rb'...

performance
defect

### Describe the bug According to the benchmark runs, the Limited C-API is very slow compared to normal/optimising Cython or even Python: ``` 2025-03-19 12:52:56 ### Benchmark 'bm_async_generators' (min/median/max): 2025-03-19...

performance
defect
limited api

### Describe the bug Found in the `bm_nbody.py` benchmark. The problem begins in `ExpandInplaceOperators` where we create `LetNode`s around the LHS node, and then, later, we end up with refcounting...

defect
Code Generation

I found a use case for setting `Py_mod_gil` differently in Py3.13 and Py3.14, but regenerating the whole C file just to switch between them is rather wasteful. So here's a...

enhancement
Code Generation

I found a use case for setting `Py_mod_gil` differently in Py3.13 and Py3.14, but regenerating the whole C file just to switch between them is rather wasteful. So here's a...

enhancement
Code Generation

### Is your feature request related to a problem? Please describe. This generates invalid C code: ```bash $ cython --embed --embed-modules=pkg.module main.pyx ``` ### Describe the solution you'd like. We...

good first issue
Code Generation

It looks like this is an explicit decision in `CConstOrVolatileType`: ```cython def same_as_resolved_type(self, other_type): if other_type.is_cv_qualified: return self.cv_base_type.same_as_resolved_type(other_type.cv_base_type) # Accept cv LHS

defect
Type Analysis

### Describe your issue Several type classes in `PyrexTypes.py` implement `__eq__` in more or less reasonable ways. - some use `==`, some use `same_as_resolved_type()` or `same_as()`, which are much more...

cleanup

Cython already optimises the common idiom `for ... in [x, y, z]` into the slightly more efficient `for ... in (x, y, z)`, and then uses direct tuple array indexing...

feature
Optimization