PySonde - open source, universal, cross-platform decoder

Sondemonitor, mapy a iný software

PySonde - open source, universal, cross-platform decoder

Poslaťod Blagus » Ned 31. Júl 2016 21:41:49

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

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.
Obrázok užívateľa
Blagus
 
Príspevky: 41
Registrovaný: Str 23. Dec 2015 17:36:09
Bydlisko: Zagreb

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

Poslaťod r00t » Ned 31. Júl 2016 22:09:30

Best optimization of Python code is to not use Python in a first place...
Obrázok užívateľa
r00t
 
Príspevky: 375
Registrovaný: Uto 27. Aug 2013 16:22:12
Bydlisko: Praha 9

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

Poslaťod Blagus » Ned 31. Júl 2016 22:25:09

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.
Obrázok užívateľa
Blagus
 
Príspevky: 41
Registrovaný: Str 23. Dec 2015 17:36:09
Bydlisko: Zagreb

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

Poslaťod r00t » Ned 31. Júl 2016 22:40:14

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.
Obrázok užívateľa
r00t
 
Príspevky: 375
Registrovaný: Uto 27. Aug 2013 16:22:12
Bydlisko: Praha 9

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

Poslaťod thieringpeti » Uto 02. Aug 2016 21:40:36

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.
Obrázok užívateľa
thieringpeti
 
Príspevky: 153
Registrovaný: Pia 16. Okt 2015 21:11:51
Bydlisko: Budapest


Späť na Software

Kto je on-line

Užívatelia prezerajúci fórum: Žiadny registrovaný užívateľ nie je prítomný a 1 hosť