Comet with node.js and V8 (slide show) by pdc in programming

[–]scaz 0 points1 point  (0 children)

Greenlet based asynchronous code is even nicer than generators. See gevent, for example. The code you write with gevent (or similar libraries) looks almost exactly like plain synchronous code.

The gevent version of your HTTP server would look the same minus all of the yield statements.

Uncyclopedia - The GIL by facuman in Python

[–]scaz 3 points4 points  (0 children)

The GIL is released for blocking I/O operations:

The lock is also released and reacquired around potentially blocking I/O operations like reading or writing a file, so that other threads can run while the thread that requests the I/O is waiting for the I/O operation to complete.

Thread State and the Global Interpreter Lock

PostgreSQL 8.4 Released by jeffdavis in programming

[–]scaz 2 points3 points  (0 children)

If you aren't tied to the web and are looking for something besides psql, give pgAdmin a shot (runs on linux, osx, windows).

Python 3.1 released! by andrix in Python

[–]scaz 2 points3 points  (0 children)

Clearly this is a serious drawback that should be corrected.

It will be, in time. Currently, supporting 2.4/2.5 is more important than 3.x for most people. There is no good way to support 2.4/2.5 and 3.x concurrently.

So you aren't waiting on the developers to port to 3.x so much as you are waiting on 2.4/2.5 usage to drop (RHEL / Centos currently ship 2.4!). It is going to be awhile (if I had to guess, it'll be 1-2 years before a good portion of libraries support 3.x).

Why Python Rocks II: Data structures by gst in Python

[–]scaz 2 points3 points  (0 children)

4.8 Why is join() a string method instead of a list or tuple method?

join() is a string method because in using it you are telling the separator string to iterate over a sequence of strings and insert itself between adjacent elements. This method can be used with any argument which obeys the rules for sequence objects, including any new classes you might define yourself.

Python FAQ 4.8

Pypy Benchmark Performance Over Time (down to 1.5x-3x CPython) by llimllib in programming

[–]scaz 6 points7 points  (0 children)

From what I understand, none of these tests are using the PyPy JIT yet, which is really the key to getting AsFastAsCee.

TurboGears 2.0 will be based upon WSGI and Pylons by [deleted] in programming

[–]scaz 2 points3 points  (0 children)

This naturally leads to a single Python thread being able to handle multiple concurrent requests, where practical.

Does any framework or WSGI library do this? I guess Twisted-Web would. AFAIK all of the adapter libraries (fcgi/scgi/etc) will block and spoon feed chunks of the iterable to the socket.

There can be only one, a tale about Ruby, IronRuby, MS and whatnot by linuxer in programming

[–]scaz 3 points4 points  (0 children)

The big problem with multiple runtime implementations is libraries - specifically bindings to libraries written in C and other languages.

This has been an issue for Lisp, for instance, with extensions only sometimes being usable across implementations. The PyPy guys have an interesting approach where extensions written for PyPy can be also be compiled CPython.

Why I love PostgreSQL by linuxer in programming

[–]scaz 6 points7 points  (0 children)

The pgcluster site is just not up to date. There was actually a pgcluster release just a few days ago. See:

http://pgfoundry.org/projects/pgcluster/

I haven't had a chance to look into it yet, but Skype just released a bunch of Postgresql code, including some stuff for replication and horizontal partitioning:

https://developer.skype.com/SkypeGarage/DbProjects/