/hydrus/ - Hydrus Network

Archive for bug reports, feature requests, and other discussion for the hydrus network.

Index Catalog Archive Bottom Refresh
Name
Options
Subject
Message

Max message length: 12000

files

Max file size: 32.00 MB

Total max file size: 50.00 MB

Max files: 5

Supported file types: GIF, JPG, PNG, WebM, OGG, and more

E-mail
Password

(used to delete files and posts)

Misc

Remember to follow the Rules

The backup domains are located at 8chan.se and 8chan.cc. TOR access can be found here, or you can access the TOR portal from the clearnet at Redchannit 3.0.

Uncommon Time Winter Stream

Interboard /christmas/ Event has Begun!
Come celebrate Christmas with us here


8chan.moe is a hobby project with no affiliation whatsoever to the administration of any other "8chan" site, past or present.

Python 3 Update Progress 1 hydrus_dev 12/18/2018 (Tue) 23:27:48 Id: 0dd525 No. 11050
I had a good week. I was able to get the client booting and closing cleanly on a new Python 3 environment on Windows. I have changed hundreds of tiny things, and there are still still a bunch more to go, and then I have to hammer out the 'freezing' process to make the executable release, and then figure out the same environment and build for the two other platforms. I feel good about the schedule. It involves a lot of bashing my head against the keyboard, but I am moving forward.
>>11050 頑張れ!
>>11050 Nice! Keep up the good work! P.S. maybe it is time to add test code into Hydrus to speed up coding?
>>11050 Awesome! Thanks for doing this. I'm curious - did 2to3 yield useful partial results? I always find those automatic refactoring tools to be enticing but frightening.
>>11061 Yeah, it worked pretty good for me. A little spammy, but fast and easy to use. It mostly: - Put safety parentheses around all my print statements (even though they all already had them) - Put a safety list() around every iteration over a dict's keys/values/items call - Changed up some explicit unicode language to str and cleaned up all the u stuff to just - Did some really helpful urlparse -> urllib.parse and cStringIO -> io.StringIO stuff This was all stuff I had feared I would have to do myself, so I was happy it was able to catch it all. The code was valid py3 and did boot. Unfortunately, it couldn't handle the encode/decode calls I had all over the place to handle some str/bytes conversion, so I knuckled down and learned how it works in py3 and rewrote the outstanding shit until it booted right. I am overall very happy with the unicode changes in py3. They realised what was bad in py2 and fixed it all. I still have a load of bytes/unicode stuff to clean up and test, stuff like object serialisation and network read/write, but that seems to be mostly it. Once I was booting into something stable, video rendering somehow worked right out of the gate. I wrestled a bit more with pyinstaller today to get a frozen build going, and it was a pretty huge pain in the balls but I think I've figured something out. There's still a CWD issue stopping it getting too far, but all the dlls are loading and the splash screen comes up. It may require a clean install, and <Win10 users may need Visual Studio Redistributable 2015. I will do testing with several users before I do the proper release so I know this better.
>>11056 There are some unit tests I threw together, and I run them every week, but I have had a lot of trouble fitting the 'make a comprehensive test suite and keep it updated' into my schedule. I would really like to have something neater here, but can't figure out how to get it done.
>>11062 So are there any code that you feel is slow in Python 3? And if so would you consider Nim-lang (using NimPy) to speed up parts of the code? Or maybe golang (with GoPy)? Nim is basically a Python-like language that compiles to C, and Golang is made by Google to be a faster, better Java. NimPy: https://narimiran.github.io/2018/05/10/python-numpy-nim.html https://github.com/jboy/nim-pymod https://github.com/yglukhov/nimpy GoPy: https://hackernoon.com/extending-python-3-in-go-78f3a69552ac https://github.com/go-python/gopy https://github.com/sbinet/go-python
>>11083 I am happy with it so far. Some python-heavy computation like the lag on tag siblings/parents cache construction on client boot appears to be running much slower. Overall it feels it is running faster than py2. There's still a bunch of jank thread code on my end jittering things up, which is a long-term project to clean up. There's a lot of duct tape that makes hydrus run from the frozen executables, and I have no experience with non-vanilla versions of python. I expect it is possible to get them going, but I bet trying to install wxPython and OpenCV is an additional headache. For now, I'll stick to the simpler environment. If you have experience with them and try it, let me know how it goes!
>>11155 Whoops, I meant the siblings/parents is running much faster. No significant problems anywhere, is the experience.


Forms
Delete
Report
Quick Reply