[Numpy-discussion] Re: New feature

2024-05-11 Thread Matti Picus
For a start you could share the link for the stand-alone package here, 
with a short description of what it does.


Additional steps would be to write a blog post about it, write it up on 
reddit's python subreddit, give a talk about it at a conference.


Matti


On 25/04/2024 23:36, Alexei Lisitsa wrote:

Ok, thanks package stand alone I did but how I advertise it?
Maybe you as expert can say some thing that is needed , something to 
develop I want some new experience




___
NumPy-Discussion mailing list -- numpy-discussion@python.org
To unsubscribe send an email to numpy-discussion-le...@python.org
https://mail.python.org/mailman3/lists/numpy-discussion.python.org/
Member address: arch...@mail-archive.com


[Numpy-discussion] Re: Fastpathing lexsort for integers

2024-05-11 Thread ml
Any feedback, even just on where to locate the Python code I wrote?

Otherwise I will try to just open a PR and see how it goes.

Thanks,

Pietro
___
NumPy-Discussion mailing list -- numpy-discussion@python.org
To unsubscribe send an email to numpy-discussion-le...@python.org
https://mail.python.org/mailman3/lists/numpy-discussion.python.org/
Member address: arch...@mail-archive.com


[Numpy-discussion] Re: Fastpathing lexsort for integers

2024-05-11 Thread Nathan
Sorry for not responding without prompting. A PR is indeed a better venue
to ask questions about a proposed code change than a mailing list post.

Adding a keyword argument to trigger a fast path seems like a bad python
API to me, since most users won’t notice it. “kind” seems nicer in that
it’s more general, but it would be even better to have some kind of
heuristic to choose the fast path when appropriate, although it sounds like
that’s not possible? Are there cases where the int path is a pessimisation?

It seems to me like it would be more natural to alter the C code as you’re
implying, but I think there’s some confusion about which C function you
need. You probably shouldn’t touch the public C API (PyArray_LexSort is in
the public API). The function that is actually being called in that python
file is a wrapper for the C API function:

https://github.com/numpy/numpy/blob/1e5386334b6f9508964fcd2e1c30293a9d82f026/numpy/_core/src/multiarray/multiarraymodule.c#L3446

So, rather than putting your int fast path in python, you’d implement in C
in that file, adding the new “kind” keyword or some sort of heuristic to
trigger it to array_lexsort in C.

If it’s possible to use a heuristic rather than requiring users to opt in,
then it could make sense to update PyArray_LexSort, but changing public C
APIs is much more disruptive in C than in python, so we generally don’t do
it and make python-level optimizations possible in C by adding new
non-public C functions that python can call using private APIs like
_multiarray_umath.

Obviously writing CPython C API code is a lot less straightforward than
Python, but the numpy code reviewers have a lot of experience spotting C
API issues and we can point you to resources for learning.

Hope that helps,

Nathan

On Sat, May 11, 2024 at 4:35 PM  wrote:

> Any feedback, even just on where to locate the Python code I wrote?
>
> Otherwise I will try to just open a PR and see how it goes.
>
> Thanks,
>
> Pietro
> ___
> NumPy-Discussion mailing list -- numpy-discussion@python.org
> To unsubscribe send an email to numpy-discussion-le...@python.org
> https://mail.python.org/mailman3/lists/numpy-discussion.python.org/
> Member address: nathan12...@gmail.com
>
___
NumPy-Discussion mailing list -- numpy-discussion@python.org
To unsubscribe send an email to numpy-discussion-le...@python.org
https://mail.python.org/mailman3/lists/numpy-discussion.python.org/
Member address: arch...@mail-archive.com