PySonde - open source, universal, cross-platform decoder

Sondemonitor, mapy a iný software
Napísať odpoveď
Užívateľov profilový obrázok
Blagus
Príspevky: 41
Dátum registrácie: 23. Decembra 2015, 17:36
Bydlisko: Zagreb
Kontaktovať užívateľa:

PySonde - open source, universal, cross-platform decoder

Príspevok od užívateľa Blagus » 31. Júla 2016, 21:41

PySonde's goal is to be cross-platform, universal and free sonde decoder.

It's still under deep development - I could hardly call it pre-alpha. I thought it will be complete by the end of July, but due to extreme lack of time, I didn't touch it for a month.
Since I'm going to a 14 days vacation, I decided to release it into the wild now and see what happens.
Licensed under AGPLv3, available on GitHub: https://github.com/Blagus/PySonde" onclick="window.open(this.href);return false;

The main reason why development got stuck is because I couldn't optimize it, so it's 3-5x slower that C decoder with the similar logic. The best optimization was including NumPy but it's still way behind C. Also, UDP decoding should work, but it's way too slow - one frame per 5 seconds.
Any help, suggestions and pull requests are welcome.

Užívateľov profilový obrázok
r00t
Príspevky: 386
Dátum registrácie: 27. Augusta 2013, 16:22
Bydlisko: Praha 9
Kontaktovať užívateľa:

Re: PySonde - open source, universal, cross-platform decoder

Príspevok od užívateľa r00t » 31. Júla 2016, 22:09

Best optimization of Python code is to not use Python in a first place...

Užívateľov profilový obrázok
Blagus
Príspevky: 41
Dátum registrácie: 23. Decembra 2015, 17:36
Bydlisko: Zagreb
Kontaktovať užívateľa:

Re: PySonde - open source, universal, cross-platform decoder

Príspevok od užívateľa Blagus » 31. Júla 2016, 22:25

That's the best way, sure :mrgreen: but what are the alternatives? Python comes with a bunch of modules and built-ins that make life easier. Also, in this state it also more or less works on Windows too.

I was thinking about nodejs in the beginning, but as I got experience with both development and devops related to nodejs, I realized it's like the worst nightmare of features, versions and maintainability and dropped it.

Užívateľov profilový obrázok
r00t
Príspevky: 386
Dátum registrácie: 27. Augusta 2013, 16:22
Bydlisko: Praha 9
Kontaktovať užívateľa:

Re: PySonde - open source, universal, cross-platform decoder

Príspevok od užívateľa r00t » 31. Júla 2016, 22:40

You can try some compilers to native code (and I mean real native code, not EXE archive with .pyc files) for Python or something like IronPython to compile into .NET assembly (that will be compiled to native code). But all these are basically hacks that makes compilation annoying. And yet they doesn't fix the Python performance issue, maybe improve it little bit, but it will always be far from native code performance.

Užívateľov profilový obrázok
thieringpeti
Príspevky: 159
Dátum registrácie: 16. Októbra 2015, 21:11
Bydlisko: Budapest

Re: PySonde - open source, universal, cross-platform decoder

Príspevok od užívateľa thieringpeti » 2. Augusta 2016, 21:40

use native c / c++ for compiling, like gcc (linux, unix etc), or borland c++ (ver. 5.5 is freeware, but only command line compiler). Any others, like java, python, .NET, etc, are just wasting the computer's resources. I'm not a good programmer, I cannot code assembler, but the native asm code should be the best (but it's only for one platform & OS).

If you want to make platform-independent software, use any open source c++ compiler, and publicate the source code. Fans will tweak them for their favourite platform, and then spread the "converted" binaries. Note that different platforms / operating systems can use audio hardware absolutely different, but the main algorythm can be the same. Unfortunately, running these programs on Windows needs a bit more tweaking, like cygwin bundle... For *nix systems (including mac) easier to port these codes.

Napísať odpoveď