RE: [Pydev-code] Process spawn doubt
Brought to you by:
fabioz
From: Fabio Z. <fa...@in...> - 2004-08-16 21:21:50
|
Dana, I've already checked it in (... So, if you want to implement some kind of spawn factory that works in a thread and assures you always have some spawn or something, that's probably as fast as we can get on our enviroment, but the worst (at least that's what I think) was having to read / write a file everytime... Actually, in my production enviroment, code completion is not really useful (only for some of the imports I do it works without problems), so, in my machine, I disabled the autocompletion on '.', because it almost never brought me anything... :-( I was thinking there could be an option to do this. (I was almost considering just passing the imports to the code completion...) Anyway, I use a plugin to do text based completion and the templates feature really helps me a lot too... It's not a replacement, but at least I'm happier working with our plugin :-) []s Fabio Zadrozny ------------------------------------------------------ Software Developer ESSS - Engineering Simulation and Scientific Software www.esss.com.br -----Original Message----- From: pyd...@li... [mailto:pyd...@li...] On Behalf Of Dana Moore Sent: segunda-feira, 16 de agosto de 2004 17:58 To: pyd...@li... Subject: RE: [Pydev-code] Process spawn doubt Fabio, are you planning to incorporate this and check it in, or do you want me to work with Aleks suggestions and yours to improve the operation? -Dana --- Fabio Zadrozny <fa...@in...> wrote: > Even with the -u switch I couldn't get it to work... > > Anyway, I've done some improvements on the rest... Now, when you lauch > the process you don't write and read a file anymore .... That's a 60% > increase in the speed, but it still can get kind of slow sometimes.... > > []s > > Fabio Zadrozny > ------------------------------------------------------ > Software Developer > ESSS - Engineering Simulation and Scientific Software www.esss.com.br > > > -----Original Message----- > From: pyd...@li... > [mailto:pyd...@li...] On Behalf Of Aleks > Totic > Sent: segunda-feira, 16 de agosto de 2004 17:01 > To: pyd...@li... > Subject: Re: [Pydev-code] Process spawn doubt > > You need the '-u' switch when launching python. > > I've chatted with Dana about doing this. I've attached an email that > has some good pointers, about what I did for the debugger. > > Aleks > > Fabio Zadrozny wrote: > > Hi all, > > > > I'm trying to figure out how to do the code completion usable (in > my > > machine it is very annoying having to wait for the completion, so, > I'm > > trying to remove the places that I think really let it slow: > creating > > a file for the process to get and spawning a Python process each > time). > > > > In order to do it, I should spawn a process and then communicate > with > > it to get the info I want. It should be easy, but I'm having the > > following > > problem: when I spawn the process, I can write to its outputstream > > without any problem, but it only responds once I close the > > outputstream. The code below explains it better (I think....) > > > > Check the comments in main().... > > > > I'm also putting a file attached with the code, if someone wants to > > > know all I'm doing... > > > > Aleks, I tried to use what you've done in the debug, but it seemed > to > > me that it adds a lot of overhead to what I want to do, so, it > would > > (I think) become unusable, but maybe you can explain the concepts > you > > used so that I can try to do it in a lightweight manner.... > > > > > > /** > > * @throws IOException > > */ > > public void startIt() throws IOException { > > > > if (p != null){ > > p.destroy(); > > } > > > > p = Runtime.getRuntime().exec("python"); //get the process > > > > //get outputs / inputs > > in = new BufferedReader(new > InputStreamReader(p.getInputStream())); > > eIn = new BufferedReader(new > InputStreamReader(p.getErrorStream())); > > stream = new BufferedOutputStream(p.getOutputStream()); > > } > > > > > > > > public static void main(String[] args) throws IOException, > > InterruptedException { > > final PythonShell s = new PythonShell(); > > > > new Thread(){ > > public void run(){ > > try { > > //print the output in this Thread > > s.printStdOutput(); > > s.printErrorOutput(); > > } catch (Exception e) { > > e.printStackTrace(); > > } > > } > > }.start(); > > > > for(int i=0;i<2;i++){ > > String str = "print 'aaaaaa'\n"; > > s.stream.write(str.getBytes()); > > s.stream.flush(); > > } > > > > > > /* s.stream.close(); */ // if I uncomment this line it > > executes the code in python, > > // otherwise it > > doesn't. > > // The bad thing is: > > if I do close it, I can't > > // write to it > > anymore and the code below will crash. > > // and I have to go > > and create a new process. > > > > for(int i=0;i<2;i++){ > > String str = "print 'aaaaaa'\n"; > > s.stream.write(str.getBytes()); > > s.stream.flush(); > > } > > > > } > > > > > > []s > > > > Fabio Zadrozny > > ------------------------------------------------------ > > Software Developer > > ESSS - Engineering Simulation and Scientific Software > www.esss.com.br > > > > > > -----Original Message----- > > From: pyd...@li... > > [mailto:pyd...@li...] On Behalf Of Aleks > > Totic > > Sent: sexta-feira, 13 de agosto de 2004 17:47 > > To: pyd...@li... > > Subject: Re: [Pydev-code] OsCon Presentation on PyDev > > > > Nice presentation at OsCon. I've created a press section on the web > > > site with these references. > > > > Aleks > > > > Dana Moore wrote: > > > >>Fabio and Aleks, > >>Just wanted to mention that there is a preso at: > >> > >>http://conferences.oreillynet.com/presentations/os2004/moore_python.pd > >>f > >> > >>that gives some of the highlights of the current release > >> > >>Also, you were probabaly aware of the article at: > >>http://www-106.ibm.com/developerworks/library/os-ecant/?ca=drs-tp2604 > >>that presents details of the current release at a nice level as > well > > > > > > > > > > ------------------------------------------------------- > > SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank > Media > > 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 > Save > > 50% off Retail on Ink & Toner - Free Shipping and Free Gift. > > http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285 > > _______________________________________________ > > Pydev-code mailing list > > Pyd...@li... > > https://lists.sourceforge.net/lists/listinfo/pydev-code > > > > > > > ---------------------------------------------------------------------- > > -- > > > > /* > > * Created on Aug 16, 2004 > > * > > * @author Fabio Zadrozny > > */ > > package org.python.pydev.editor.codecompletion; > > > > import java.io.BufferedOutputStream; import java.io.BufferedReader; > > import java.io.IOException; import java.io.InputStreamReader; > === message truncated === ===== _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ _/ Dana Moore _/ BBN Technologies LLC _/ M: 240.350.4196 _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ __________________________________ Do you Yahoo!? Y! Messenger - Communicate in real time. Download now. http://messenger.yahoo.com ------------------------------------------------------- SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift. http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285 _______________________________________________ Pydev-code mailing list Pyd...@li... https://lists.sourceforge.net/lists/listinfo/pydev-code |