> The question, now, is why the coercion system is invoked at all: I'm doing
> arithmetic within my own ring. The culprit, I guess, is the expression
> 1/self in element.pyx.
>
> Does a ring keep track of its own multiplicative identity element?
>
A: yes, it does. If I replace, in element.pyx
> No. The coercion system has a cache of its own. It does keep strong
> references to the coercion maps. They don't have homsets, though. The
> problem might be that you keep extracting coercion maps from the coercion
> system:
>
> if all(R.has_coerce_map_from(S) for R in self._rings):
On Wednesday, January 28, 2015 at 3:14:33 AM UTC-8, vdelecroix wrote:
>
> Agreed. But these dramatic slowdown are for me a critical drawback.
> But of course preferable than the previous state.
>
Packaging coercions into a map has never been "good" for performance.
There's a good chance that if
2015-01-28 10:02 UTC+01:00, Simon King :
> Hi Vincent,
>
> On 2015-01-28, Vincent Delecroix <20100.delecr...@gmail.com> wrote:
>> This is really annoying from the user perspective
>
> I strongly disagree. It used to be very annoying from the user
> perspective that seemingly harmless computations r
On Wednesday, January 28, 2015 at 12:03:00 AM UTC-8, vdelecroix wrote:
> This is really annoying from the user perspective
Not nearly as annoying as the unavoidable memory leaks we had before,
though. Note that most internal structure types do not suffer from
slowdowns, so you could study them
2015-01-28 8:00 UTC+01:00, Simon King :
> Hi Nils,
>
> On 2015-01-27, Nils Bruin wrote:
>> It suggests there is a homset that gets created and forgotten every time.
>>
>> You should probably dig into the callgraph to see who is triggering this
>> call. It suggests to me that between 5.12 and 6.4,