Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror

Comment Re:GIL (Score 2) 129

PS.: I should add that, in this context, the GO runtime is interesting, as it puts away several of those limitations. So I do understand the rationale behind this I guess. As others above, I don't really see the advantages of simply using GO directly, or any other mature language. My guess is that there is too much Python code around to simply abandon or re-implement it.

Comment Re:GIL (Score 2) 129

Unfortunately, the GIL does not only inhibit performance scaling with threads, it causes performance to scale *negatively* on multicore systems. Don't believe me? Try to run a threaded code on a single core system, and then on multicore systems (`cpusets` come in handy for this test). That holds for I/O bound threads just as well as for CPU bound ones or mixtures thereof. Singlecore systems are hard to find nowadays, and cpusets are not always available (in terms of permission and kernel support), and it impacts process based scaling obviously. Negative scaling is hard to accept (for my use cases at least).

Further, the GIL causes some strangeness (to put it mildly) with respect to signals and interrupt handling -- simply put, signals and interrupts can get lost in multithreaded python codes, which makes mix of threading and processing *very* cumbersome and unstable.

*Only* using multiprocessing is hard, too, for two reasons: not having threads makes async programming difficult (think GUIs). It makes I/O or event driven applications much harder. And, multiprocessing has its own quirks: ever tried to spawn a process in a daemon (hits an `assert`)? Ever tried to pass around a process handle to a central process manager (`wait()` will cease to work)? And some other funny things. Python does not make any serious attempt to provide POSIX level process handling, in my opinion, and that shows for non-trivial use cases.

In summary: people like me whining about the GIL have more reasons than performance. But, performance is one, too. Threading in Python is in a sorry state, and that is a shame. There is no solution in sight.

Python is a neat language. I would not ever (again) recommend it for production code.

Comment Fluctuations look stationary? (Score 2) 81

I saw the recordings on different outlets -- but here might be the right place to ask: the exit velocity is quite impressive, but in the recordings, it seems to me that to the middle and right end, some structures look almost stationary. Can anyone of you judge if that is a visual artifact of the camera (which would make it somewhat useless I think), or an actual physical phenomenon?

Comment Re:A total non story .. (Score 1) 924

It might be the year of the linux desktop, but I for one do not have root access on the majority of boxes I work on -- so now I will have to chase each individual admin to get screen working again. And explain to them why the have to deviate from default settings. And 'security' popping up on the first google search on why that default now exists. Thanks very much, I am looking forward to wonderful discussions about non-default security settings on machines for which I need to jump hoops to get on in the first place... :/

Slashdot Top Deals

When someone says "I want a programming language in which I need only say what I wish done," give him a lollipop.

Working...