I forgot to add the link, [1] was meant to be :
https://docs.python.org/3/whatsnew/3.11.html#faster-cpython

On Thu, Apr 13, 2023 at 10:17 AM Anand Inguva <ananding...@google.com>
wrote:

> Yes Ahmet. That would be great.
>
> There are some load tests defined in the
> https://github.com/apache/beam/blob/master/.test-infra which could be
> useful for performance testing of Beam between 3.10 and 3.11. Do you
> suggest any other tests?
>

I have not looked at the full list. I do not think we will see much in IO
bound pipelines, or pipelines that do most of their work with a C extension
library already. Maybe some of the load tests like pardo load tests?

If feasible, we could convert benchmarks to run on 3.11 and see which ones
will see a larger improvement.

Also apparently there is a potential regression of using up to 20% more
memory (
https://docs.python.org/3/whatsnew/3.11.html#will-cpython-3-11-use-more-memory).
I wonder if that will negatively impact us. If feasible, it would be useful
to understand that as well.


>
> On Wed, Apr 12, 2023 at 8:04 PM Ahmet Altay <al...@google.com> wrote:
>
>> Thank you, this is great!
>>
>> Python 3.11 announcement had a claim about performance [1]:
>>
>> "CPython 3.11 is an average of 25% faster than CPython 3.10 as measured
>> with the pyperformance benchmark suite, when compiled with GCC on Ubuntu
>> Linux. Depending on your workload, the overall speedup could be 10-60%."
>>
>> Have we measured this in Beam? Are we seeing any benefits? If not, why?
>> If yes, this would be a cool blog post as well.
>>
>> Ahmet
>>
>>
>> On Wed, Apr 5, 2023 at 1:12 PM Anand Inguva via dev <dev@beam.apache.org>
>> wrote:
>>
>>> Python 3.11 support has been merged at
>>> https://github.com/apache/beam/pull/26121 targeting Beam 2.47.0
>>> release.
>>>
>>> Please let me know if you have any questions.
>>>
>>> Thanks,
>>> Anand
>>>
>>> On Tue, Feb 21, 2023 at 6:04 PM Valentyn Tymofieiev <valen...@google.com>
>>> wrote:
>>>
>>>> Thanks a lot Anand. I'll take a look at the PRs.
>>>>
>>>> On Tue, Feb 21, 2023 at 1:56 PM Anand Inguva <ananding...@google.com>
>>>> wrote:
>>>>
>>>>> I was able to spin up a PR: https://github.com/apache/beam/pull/24599
>>>>> that updates the build dependencies of Apache Beam.
>>>>>
>>>>> Several GCP dependencies needed to be updated as well. I covered them
>>>>> in the PR: https://github.com/apache/beam/pull/24599
>>>>>
>>>>> On Thu, Feb 9, 2023 at 3:29 PM Anand Inguva <ananding...@google.com>
>>>>> wrote:
>>>>>
>>>>>> Yes, we may need to update all of them
>>>>>> <https://github.com/apache/beam/blob/master/sdks/python/build-requirements.txt#L28-L33>.
>>>>>> I can add more information once I dig into the issue(most likely next
>>>>>> week). I will comment on my findings on the issue:
>>>>>> https://github.com/apache/beam/issues/24569 and will periodically
>>>>>> update this thread.
>>>>>>
>>>>>> On Tue, Feb 7, 2023 at 5:47 PM Valentyn Tymofieiev <
>>>>>> valen...@google.com> wrote:
>>>>>>
>>>>>>> On Tue, Feb 7, 2023 at 2:35 PM Anand Inguva <ananding...@google.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Yes, it is related to protobuf only. But I think the update of
>>>>>>>> these dependencies are required for Python 3.11 since the newer 
>>>>>>>> versions
>>>>>>>> have support for Python 3.11 wheels.
>>>>>>>>
>>>>>>> Assuming you refer to protobuf. Yes, there are no wheels for 3.10
>>>>>>> for protobuf==3.x.x and that can cause friction.
>>>>>>> https://pypi.org/project/protobuf/3.20.3/#files
>>>>>>>
>>>>>>> I would probably narrow the problem further to demonstrate which
>>>>>>> stubs are not being generated, and if reason not obvious we can also ask
>>>>>>> for feedback from protobuf maintainers. Also - do we by chance need to
>>>>>>> update some other deps from
>>>>>>> https://github.com/apache/beam/blob/master/sdks/python/build-requirements.txt#L28-L33
>>>>>>> for this to work?
>>>>>>>
>>>>>>> Also: tracking issue for protobuf4 support in Beam:
>>>>>>> https://github.com/apache/beam/issues/24569.
>>>>>>>
>>>>>>> If we use older versions of these packages, then we have to depend
>>>>>>>> on installing those packages on Python 3.11 from source distributions 
>>>>>>>> which
>>>>>>>> is not desired.
>>>>>>>>
>>>>>>>> I am working parallely on that issue in a different PR
>>>>>>>> https://github.com/apache/beam/pull/24599 but I think this issue
>>>>>>>> should be a blocker for Python 3.11 update.
>>>>>>>>
>>>>>>>> On Tue, Feb 7, 2023 at 5:25 PM Valentyn Tymofieiev <
>>>>>>>> valen...@google.com> wrote:
>>>>>>>>
>>>>>>>>> Hi Anand,
>>>>>>>>>
>>>>>>>>> On Tue, Feb 7, 2023 at 1:35 PM Anand Inguva via dev <
>>>>>>>>> dev@beam.apache.org> wrote:
>>>>>>>>>
>>>>>>>>>> Hi all,
>>>>>>>>>>
>>>>>>>>>> We are planning to work on adding support for Python 3.11[1] to
>>>>>>>>>> Apache Beam Python SDK.
>>>>>>>>>>
>>>>>>>>>> As part of this effort, we are going to update the python build
>>>>>>>>>> dependencies defined at [2].
>>>>>>>>>>
>>>>>>>>>> Right now, there is an error with the newer version of
>>>>>>>>>> protobuf(4.21.11). It is not generating _urn files.
>>>>>>>>>>
>>>>>>>>>> It can be reproduced by
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> 1. python setup.py sdist
>>>>>>>>>> 2. pip install dist/apache-beam-x.xx.x.dev0.tar.gz
>>>>>>>>>> 3. switch to python interpreter and run import apache_beam as beam
>>>>>>>>>>
>>>>>>>>> I think the error you are describing is related to protobuf 4, so
>>>>>>>>> the repro should focus on the portion where generation of stubs is
>>>>>>>>> happening. Presumably some stubs are not generated on protobuf 4 + 
>>>>>>>>> Python
>>>>>>>>> 3.11?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> will lead to *ImportError: cannot import name
>>>>>>>>>> 'beam_runner_api_pb2_urns' from 'apache_beam.portability.api'.  
>>>>>>>>>> *Running
>>>>>>>>>> `python gen_protos.py` to forcefully generate files didn't help 
>>>>>>>>>> either.
>>>>>>>>>>
>>>>>>>>>> If you have encountered this error and found a resolution, please
>>>>>>>>>> let me know(that would be super helpful).
>>>>>>>>>>
>>>>>>>>>> I am going to work on this soon. Please let me know if you want
>>>>>>>>>> to collaborate.
>>>>>>>>>>
>>>>>>>>>> Thanks,
>>>>>>>>>> Anand Inguva
>>>>>>>>>>
>>>>>>>>>> *[1] *https://github.com/apache/beam/pull/24721
>>>>>>>>>> [2]
>>>>>>>>>> https://github.com/apache/beam/blob/master/sdks/python/build-requirements.txt
>>>>>>>>>>
>>>>>>>>>

Reply via email to