On Wed, Jun 14, 2017 at 1:52 PM, Jeroen Demeyer <
jdem...@cage.ugent.be> wrote:
> On 2017-06-14 12:36, Erik Bray wrote:
>>
>> The fact that you put "systems" in quotes I think really gets to what
>> my question is: How is "systems" defined in this case?
>
>
> Essentially, a "system" is any external math package/library that a
> computation uses. So things like Pynac, MPFR, PARI, Maxima, OpenBLAS, ...
That's what I thought. So you don't necessarily *need* a trace of
every function that's called. That's just how this happens to be
implemented in an automated fashion. I think that's still useful to
have though, which is why I think option (B) makes sense: Keep the
functionality but make it clear that it's not going to work properly
without profiling enabled in Cython.
> I agree that this is not really objective, for various reasons:
>
> 1. Why restrict to "math" packages? We could consider Python, Cython, ECL or
> CyPari2 to be a "system" too.
I agree, I think all of these count in some fashion. It sort of
depends on what the individual user's purpose is. If they just want
an informal list of technologies they used they might mention Python,
etc. Though another more serious use case is if one wants to give
citations to the systems they used, and that's only relevant if those
systems have a way of being citied (a paper, for example).
> 2. What about trivial uses? For example, if we ask to list all elements of
> FiniteField(16), does that really "use" Givaro? Technically, it does but
> only in a very trivial way.
This is another reason I was thinking about some manual system of
listing what "systems" are involved in a calculation. That is, for an
individual function, what systems are most relevant to obtaining the
result it returns? On some level this is subjective, and something
that only the human implementing that function can really know.