pybufrkit | Pure Python toolkit to work with WMO BUFR messages
kandi X-RAY | pybufrkit Summary
kandi X-RAY | pybufrkit Summary
Pure Python toolkit to work with WMO BUFR messages
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
- Main function .
- Process an operator descriptor .
- Parse a wire operator descriptor .
- Normalize WMO tables .
- Parse a path expression .
- Process embedded query expression .
- Process a JSON string .
- Generate BUFR message from string .
- Creates a section configuration .
- Filters out sub - nodes that match the given criteria .
pybufrkit Key Features
pybufrkit Examples and Code Snippets
Community Discussions
Trending Discussions on pybufrkit
QUESTION
PROBLEM - ProcessPoolExecutor hasn't increased speed. Confirmed by tqdm
Learned enough about python to copy and/or write a program that works. each file takes ~40 seconds to load->filter->write. I have ~6,800 files to work through and want a better version which uses all my processing power (6 cores), I tried to write that version (below). Said version produces, however slightly slower than my original function:
...ANSWER
Answered 2022-Mar-02 at 16:15Q :
" PROBLEM - ProcessPoolExecutor hasn't increased speed. Confirmed by tqdm "
A :
No,
with all respect,
your main problem is not the efficiency of ProcessPoolExecutor()
-instance, but
your main problem is choosing performance / efficiency ( almost ) anti-patterns, which Python, the more Python-sub-processes in realms of Windows O/S will awfully punish with having you to wait for some 75 hours to collect all results (if the processing-pipeline does indeed what you expect it to do, which I cannot judge, but guess it will not ... for reasons listed below )
best avoid 75 hours of producing nonsensical outputs :
Given the documented standard Py3 concurrent.futures.Executor()
-instance .submit()
-method's call-signature, your code does not meet this specification.
Instead of passing a reference to a function, the main()
, being a calling-side, first performs for each and every of 6800 files a full, pure-[SERIAL]
METOP-workpackage processing ( which produces some expensively collected huge list-of-messages ), which is then ( to the contrary of the documented requirement to pass a reference to a function / in-place lambda-operator ) again at awfully immense RAM/CPU/TIME expenses, SER/sent/DES-transferred to one of the Executor
-managed pool of worker-processes ( which I doubt will be able to do anything reasonable upon receiving a list, instead of a function ( planned to be executed in such a remote process, over parameters delivered thereto - as per the calling-signature specifies ). Ouch...
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install pybufrkit
You can use pybufrkit like any standard Python library. You will need to make sure that you have a development environment consisting of a Python distribution including header files, a compiler, pip, and git installed. Make sure that your pip, setuptools, and wheel are up to date. When using pip it is generally recommended to install packages in a virtual environment to avoid changes to the system.
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page