[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Plotting with 3.2.0 on Windows is SLOOOOOOWWWW
From: |
Tatsuro MATSUOKA |
Subject: |
Re: Plotting with 3.2.0 on Windows is SLOOOOOOWWWW |
Date: |
Thu, 30 Jul 2009 00:02:17 +0900 (JST) |
Hello
--- "John W. Eaton" wrote:
> On 29-Jul-2009, Tatsuro MATSUOKA wrote:
>
> | MMMMM It is really slow as you pointed out
>
> Is it any faster if you make the following change? This way,
> communication with gnuplot will be one-way, using popen instead of
> popen2. However, some features will be disabled (anything that
> requires getting information back from the gnuplot subprocess will
> likely fail). If you can determine that using popen2 is the cause of
> the performance problem, then maybe the function that needs to be
> fixed is octave_popen2 in liboctave/lo-sysdep.cc. But I'm not a
> Windows expert, so I have no clue if that is correct, or if it is,
> what should be done, so someone else will have to work on this
> problem.
>
> jwe
>
> > diff --git a/scripts/plot/gnuplot_drawnow.m b/scripts/plot/gnuplot_drawnow.m
> --- a/scripts/plot/gnuplot_drawnow.m
> +++ b/scripts/plot/gnuplot_drawnow.m
> @@ -79,7 +79,7 @@
> ## Graphics terminal for display.
> plot_stream = get (h, "__plot_stream__");
> if (isempty (plot_stream))
> - plot_stream = __gnuplot_open_stream__ (2, h);
> + plot_stream = __gnuplot_open_stream__ (1, h);
> new_stream = true;
> else
> new_stream = false;
>
The above change gives errors;
error: __gnuplot_get_var__: Need mkfifo that is not implemented under Windows
error: called from:
error:
C:\Programs\Octave\3.2.0_gcc-4.3.0\share\octave\3.2.0\m\plot\__gnuplot_get_var__.m
at line
52, column 7
error:
C:\Programs\Octave\3.2.0_gcc-4.3.0\share\octave\3.2.0\m\plot\__go_draw_axes__.m
at line 39,
column 18
error: __gnuplot_get_var__: Need mkfifo that is not implemented under Windows
error: called from:
error:
C:\Programs\Octave\3.2.0_gcc-4.3.0\share\octave\3.2.0\m\plot\__gnuplot_get_var__.m
at line
52, column 7
error:
C:\Programs\Octave\3.2.0_gcc-4.3.0\share\octave\3.2.0\m\plot\__go_draw_axes__.m
at line 39,
column 18
error: __gnuplot_get_var__: Need mkfifo that is not implemented under Windows
error: called from:
error:
C:\Programs\Octave\3.2.0_gcc-4.3.0\share\octave\3.2.0\m\plot\__gnuplot_get_var__.m
at line
52, column 7
error:
C:\Programs\Octave\3.2.0_gcc-4.3.0\share\octave\3.2.0\m\plot\__go_draw_axes__.m
at line 39,
column 18
error: __gnuplot_get_var__: Need mkfifo that is not implemented under Windows
error: called from:
error:
C:\Programs\Octave\3.2.0_gcc-4.3.0\share\octave\3.2.0\m\plot\__gnuplot_get_var__.m
at line
52, column 7
error:
C:\Programs\Octave\3.2.0_gcc-4.3.0\share\octave\3.2.0\m\plot\__go_draw_axes__.m
at line 39,
column 18
About a year before I have tried to use cygwin's gnuplot for windows octave.
In the case, the speed
of plot with drawnow in a for loop of gnuplot on cygwin is faster that that of
gnuplot for windows. I
suppose that some optimizing treatments are carried out in the emulation layer
of the posix pipe in
cygwin.
However I have not carried out enough investigation on this matter. I would
like to think about this
issue for a while. My idea at present is that it will be required to treat the
code of octave_popen2
in liboctave/lo-sysdep.cc using the win32 pipe functions but not the posix
compatible ones.
Anyway please give me a moment for this matter but I cannot assure that my
trial will be successful.
Hi Matthias Brennwald
Have to you use octave 3.2.0 on windows ? At the moment it is better to use
octave 3.0.5 on mingw
unless you need to use new features on the octave 3.2.0.
http://sourceforge.net/projects/octave/files/Octave_Windows%20-%20MinGW/Octave%203.0.5%20for%20Windows%20MinGW32%20Installer/Octave-3.0.5_i686-pc-mingw32_gcc-4.3.0_setup.exe
If you have to use octave 3.2.0, I recommend to try octave-3.2.0 on cygwin-1.7.
Please see the details at
http://wiki.octave.org/wiki.pl?OctaveForWindows
Regards
Tatsuro
--------------------------------------
Power up the Internet with Yahoo! Toolbar.
http://pr.mail.yahoo.co.jp/toolbar/