From: Jesus C. A. <jc...@ar...> - 2002-09-05 11:48:11
|
> Now I plan to rewrite Psyco again according to the ideas tested in the > current version, in a much more flexible way. This will let Psyco be > easily extended in various directions, including support for several > very different "back-end" architectures. You should checkout virtual machines compiled "just in time" for the native platform. Example: OpenJIT, VCODE and GNU Lightning. So, your backend could be "abstract" without losing almost no efficiency. Google is your friend :-). Some random links: http://www.openjit.org/ http://www.pdos.lcs.mit.edu/~engler/pldi96-abstract.html http://www.gnu.org/software/lightning/ In my modest opinion, the virtual machine (basic, without JIT) should come back, anyway, to cover any device where python runs, including MIPS and ARM, for example :-(. > So adding basic support for new processors should be relatively easy > for people familiar to the instruction set. Currently assembler coding is almost a lost art :-( I had a look to current Psyco code, and to develop a new CPU backend seems a lot of work, since details about x86 instruction set seems to percolate the generic python core. I spend about 2-3 hours studying your current code and the task seems not trivial. [About Pyrex] > Wouldn't it be nicer (and so much more flexible) to use Python as a > language to specify the types as well? I was thinking along the line, too. Some like: import Pyrex ... a=Pyrex.Integer() b=Pyrex.Float() c=Pyrex.list(b) ... So, the code remains 100% Python but when Pyrex compiles it, the compiler could recognize the constructors. > Actually defining such a type system, and moreover giving the user > control over the actual representation of the data, is exactly what I > will need for the next Psyco. Currently there is already some > flexibility in the typing information (e.g. types like 'tuple of two > elements whose first element is an int') but it is purely in C and not > really extensible -- and certainly not extensible by Python code. Nice. That's the king of things where Psyco shines. If I only could run pysco on my machines... };-) -- Jesus Cea Avion _/_/ _/_/_/ _/_/_/ jc...@ar... http://www.argo.es/~jcea/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/_/_/_/ PGP Key Available at KeyServ _/_/ _/_/ _/_/ _/_/ _/_/ "Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ "My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/ "El amor es poner tu felicidad en la felicidad de otro" - Leibniz |