Forums

I need a Python coder's assistance on editing a script I have already

I have a script that was done by someone else for an online text based game I play and I need to see if an experienced coder could take some time to make some changes to the scripting for me to multi thread and make it run faster and stop crashing. He released this first copy to general public, but made his multi thread/updated version select to himself to lower competition. Willing to negotiate payment for the editing. You can contact me via email: jameson.rogers@hotmail.com or by YIM: nukemechanic4usnavy.

Thanks in advance. If this is an inappropriate topic, please let me know as well and where I should turn to for assistance please. Thanks.

If the first version if open to the public then it might be helpful to provide a link to it so people can take a look before they decide whether or not to offer. If that's not possible, at least an indication of the total number of both lines and files would be useful.

I might be able to take a look or not depending on the size of the code, but my spare time is fairly limited right now!

Note that in Python multi-threading doesn't necessarily give you a performance increase because only one thread can be running at a time (due to something called the Global Interpreter Lock or GIL). If the application is primarily IO-bound (e.g. it spends most of its time waiting to send and receive network traffic) then multi-threading can be a convenient way to make improvements. Many coders jump straight to this conclusion first, however, and fail to even consider options such as eventlet which uses non-blocking IO to allow many (not all) of the same performance benefits of multi-threaded code.

If your application is CPU-bound (i.e. it spends most of its time doing number crunching in the CPU) then multi-threading probably won't help much in Python. The multiprocessing library may help in that case, but my intuition tells me that your application is probably mostly of the IO-bound type anyway.

All that said, unless the original coder was relatively competent, there are probably a number of performance improvements that can be made even without multi-threading. It's a source of continual amazement to me how poorly some Python code performs just because people couldn't be bothered to profile and optimise their code. Often a simple change of algorithm or data structure can work wonders - can be as simple as using a collections.deque instead of a list, for example.

Anyway, that probably wasn't particularly useful, but you never know it might be handy for someone. (^_^)

Sure, I can post a link to it, but how exactly do I do it? Should I pastebin it and provide the link here or is there a way to link straight to it being uploaded on here?

Ah, when you said "available to the public", I wondered if it already had its own web page (e.g. as an open source project, etc.).

If you've just got a copy of it then something like pastebin is fine if it's a single file, but I suggest you'd better be quite confident the author is happy for it to be public domain first. A slightly more private approach would be to put it into something like a Dropbox folder and mark it as public - then you can remove it later.

@ sthrnrebel: To post a link here all you have to do is follow the instructions in the link to Markdown below (at the Post button). What you will find there is the instruction to put your displayed text inside [] and immediately follow it with the link itself inside ().

So, for instance if I wanted to link to https://www.pythonanywhere.com using the term PA, I would type the following without any spaces:

[ PA ]( https://www.pythonanywhere.com )

Note I put the spaces in so what I typed wouldn't be converted to a link. As long as the spaces are removed it will work as expected. (Example of what the above code block makes when spaces are removed: PA)

I hope that helps.

@ sthrnrebel: Did you ever get this resolved?