Victor Stinner <victor.stinner <at> gmail.com> writes:
> Example: > ---- > a = GETLOCAL(0); # "a" > if (a == NULL) /* error */ > b = GETLOCAL(1); # "b" > if (b == NULL) /* error */ > return PyNumber_Add(a, b); > ---- > > I don't expect to run a program 10x faster, but I would be happy if I > can run arbitrary Python code 25% faster. > > -- > > Specialization / tracing JIT can be seen as another project, or at > least added later. > > Victor > This is almost exactly what Unladen Swallow originally did. First, LLVM will not do all of the optimizations you are expecting it to do out of the box. It will still have all the stack accesses, and it will have all of the ref counting operations. You can get a small speed boost from removing the interpretation dispatch overhead, but you also explode your memory usage, and the speedups are tiny. Please, learn from Unladen Swallow and other's experiences, otherwise they're for naught, and frankly we (python-dev) waste a lot of time. Alex _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com