-----Original Message-----
>From: Robert Engels <reng...@ix.netcom.com>
>Sent: Nov 19, 2019 10:54 AM
>To: Ian Lance Taylor <i...@golang.org>, miha.vrhov...@gmail.com
>Cc: golang-nuts <golang-nuts@googlegroups.com>
>Subject: Re: [go-nuts] ultra slow os.Exec
>
>
>I am guessing - because it is close to 30 secs (which sounds a lot like a 
>timeout value) - that there is some problem in hand-off with the file 
>descriptors and the descriptor is getting locked, causing some sort of timeout.
>
>If it was "any exe" I'm sure someone would of reported it before. It should be 
>trivial to write a test. I'll be back...
>
>
>
>
>-----Original Message-----
>>From: Ian Lance Taylor <i...@golang.org>
>>Sent: Nov 19, 2019 10:28 AM
>>To: miha.vrhov...@gmail.com
>>Cc: golang-nuts <golang-nuts@googlegroups.com>
>>Subject: Re: [go-nuts] ultra slow os.Exec
>>
>>On Tue, Nov 19, 2019 at 7:29 AM <miha.vrhov...@gmail.com> wrote:
>>>
>>> Robert is right, all 3 examples are the same (they execute the same command 
>>> with wine being set up and then teared down again). wine itself is not an 
>>> issue. It's go's exec that does something extremely funny.
>>
>>Sorry, I misread the original note.  But if I'm reading it correctly
>>now, I find these results pretty hard to believe.  Can anybody else
>>replicate them?
>>
>>Ian
>>
>>
>>> On Tuesday, November 19, 2019 at 4:22:47 PM UTC+1, Robert Engels wrote:
>>>>
>>>>
>>>> I think the point the OP is making is that when he runs the command from 
>>>> the Linux command line it completes in 2 sec - so the Wine startup time 
>>>> should not be the issue.
>>>>
>>>>
>>>> -----Original Message-----
>>>> >From: Ian Lance Taylor <ia...@golang.org>
>>>> >Sent: Nov 19, 2019 9:15 AM
>>>> >To: miha.v...@gmail.com
>>>> >Cc: golang-nuts <golan...@googlegroups.com>
>>>> >Subject: Re: [go-nuts] ultra slow os.Exec
>>>> >
>>>> >On Tue, Nov 19, 2019 at 6:52 AM <miha.v...@gmail.com> wrote:
>>>> >>
>>>> >> I'm running windows cli exe on linux via wine using os.Exec command.. 
>>>> >> this takes 28s to complete.
>>>> >> If I run the same command via linux cli it takes 2s to complete, if I 
>>>> >> run the same command via php's exec it also takes about 2 seconds to 
>>>> >> complete.
>>>> >>
>>>> >> == linux cli ==
>>>> >>
>>>> >> time WINEDEBUG=err-all,fixme-all WINEARCH=win32 
>>>> >> /opt/wine-staging/bin/wine cmd.exe /c help
>>>> >> ....
>>>> >> real    0m1,366s
>>>> >> user    0m0,002s
>>>> >> sys    0m0,225s
>>>> >>
>>>> >> == php ==
>>>> >> cat t.php
>>>> >> <?php
>>>> >> $out=array();
>>>> >>
>>>> >> exec('WINEDEBUG=err-all,fixme-all WINEARCH=win32 
>>>> >> /opt/wine-staging/bin/wine cmd.exe /c help', $out);
>>>> >>
>>>> >> var_dump($out);
>>>> >>
>>>> >> .....
>>>> >>
>>>> >> real    0m1,427s
>>>> >> user    0m0,035s
>>>> >> sys    0m0,216s
>>>> >>
>>>> >>
>>>> >> ==go exec==
>>>> >>
>>>> >> func main() {
>>>> >>     now := time.Now()
>>>> >>     ctx, cancel := context.WithTimeout(context.Background(), 
>>>> >> 120*time.Second)
>>>> >>     defer cancel()
>>>> >>     cmd := exec.CommandContext(ctx, "/opt/wine-staging/bin/wine", 
>>>> >> "cmd", "/c", "help")
>>>> >>     cmd.Env = []string{"WINEDEBUG=err-all,fixme-all", "WINEARCH=win32"}
>>>> >>     output, err := cmd.CombinedOutput()
>>>> >>     if err != nil {
>>>> >>         fmt.Println(err)
>>>> >>     }
>>>> >>     fmt.Println(string(output))
>>>> >>     fmt.Println(time.Now().Sub(now))
>>>> >> }
>>>> >>
>>>> >> time bin/osexec
>>>> >>
>>>> >> real    0m39,915s
>>>> >> user    0m17,062s
>>>> >> sys    0m0,195s
>>>> >>
>>>> >>
>>>> >> * I have tried to set stdin and std out directly to the one from os (no 
>>>> >> difference)
>>>> >> * I have replaced cmd.CombinedOutput with cmd.Run() (no difference)
>>>> >>
>>>> >> go version
>>>> >> go version go1.13.3 linux/amd64
>>>> >> I'm totally clueless on what's going on.
>>>> >
>>>> >How long does it take to just run the wine command from the shell?
>>>> >
>>>> >My first guess would certainly be that the problem is in wine, not in
>>>> >Go's os/exec package.  Starting up a Windows emulator has to take a
>>>> >certain amount of time.
>>>> >
>>>> >Ian
>>>> >
>>>> >--
>>>> >You received this message because you are subscribed to the Google Groups 
>>>> >"golang-nuts" group.
>>>> >To unsubscribe from this group and stop receiving emails from it, send an 
>>>> >email to golan...@googlegroups.com.
>>>> >To view this discussion on the web visit 
>>>> >https://groups.google.com/d/msgid/golang-nuts/CAOyqgcXJZy61dX_UetsKY0r%3DNMcoBcE4sCuFZVzvvPme%3DjTTDg%40mail.gmail.com.
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups 
>>> "golang-nuts" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>> email to golang-nuts+unsubscr...@googlegroups.com.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/golang-nuts/037e16e2-158a-4cf7-8a5f-8b940d55e64a%40googlegroups.com.
>>
>>-- 
>>You received this message because you are subscribed to the Google Groups 
>>"golang-nuts" group.
>>To unsubscribe from this group and stop receiving emails from it, send an 
>>email to golang-nuts+unsubscr...@googlegroups.com.
>>To view this discussion on the web visit 
>>https://groups.google.com/d/msgid/golang-nuts/CAOyqgcXR3ADH6J28wmY7vneHVnNRpGf0yia8aAyUdSrB62qwQg%40mail.gmail.com.
>
>-- 
>You received this message because you are subscribed to the Google Groups 
>"golang-nuts" group.
>To unsubscribe from this group and stop receiving emails from it, send an 
>email to golang-nuts+unsubscr...@googlegroups.com.
>To view this discussion on the web visit 
>https://groups.google.com/d/msgid/golang-nuts/847534479.3807.1574182478713%40wamui-cheeto.atl.sa.earthlink.net.

Doesn't seem to happen with a exec of "/usr/bin/date" so it is most likely 
something wine+Go specific.

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/592624650.4138.1574183566277%40wamui-cheeto.atl.sa.earthlink.net.

Reply via email to