Re: HBLink and HBLink3
Cort N0MJS <n0mjs@...>
HBlink 3 is non-functional at this point. It will not work. It is on GitHub because I use GitHub to sync multiple computers I do development on.
Once HBlink3 is completed and has parity with HBlink, HBlink will be depreciated and all new development will be with HBlink3. The 3 means it runs on Python3. There are a number of advantages to moving to Python3 – which wasn’t possible when I began the project. Once I have everything working, the next move will be to pull twisted out from underneath it and replace it with a combination of asyncio and uvloop. This should bring network performance close to that of a compiled machine code program.
A bit of a deeper dive for those who are interested. A few weeks ago we did some heavy duty performance measurement on the K0USY KS-DMR network – where we run my tools in production. We wanted to know how far this thing will scale with modest resources. What we ended up finding out is that the network calls through twisted are the most costly in terms of time. Twisted is a GREAT module, don’t get me wrong. But we really don’t use it the way it was intended. We use fairly low-level pieces, of which there are much faster options in Python3. How much faster? Two orders of magnitude.
That’s the roadmap as of now – get HBlink3 working, then migrate to different underlying network modules.