[comp.lang.icon] Screen I/O

CELEX@CELEX.KUN.NL (CELEX -- Centre for Lexical Information) (08/23/90)

Thanks to everyone who replied to my problem with the slow screen I/O
with Icon V8.
 
Richard wrote:
> Gcc is the GNU C compiler, and it produces much better code, in many
> instances, than the native compilers that come on various systems.
> I just wondered whether there was a VAX version.
 
Sorry Richard, I don't know if one is available.
 
> I do not use VMS, but I would be curious to know if anyone sends you
> a solution to your problem with Icon version 8.  I might be tempted
> to try version 7.5 to see if it works as fast as 8, since 7.5 is very
> close syntactically to version 8.  Version 8 mainly represents a change
> in the internal handling of tables and sets.  Version 8 also allows
> memory monitoring.
 
We had the same problem with v. 7.5, so we stayed with v.6 (I guess
we should have reported this problem then).
 
> You may find that, despite slower I/O, version 8 saves you so much
> space that it's worth it.  The space savings will show up in programs
> that use large sets and tables.
> Please let me know what you do.  I am curious.
 
I will.
 
Chris wrote:
> Recently someone mentioned something about Icon V8 being slower than V6 on a
> microvax in regards to screen IO. This sounds like a VMS system. I've used
> in primarily on VAX/VMS, but also a little on a VAX 780 running Berkeley Unix
> 4.3 and the screen IO behaviour difference is quite noticable.
> I think it's because the VMS version is trying to emulate the data stream
> concept of unix. This is why the unix redirectors <, >, and >> can be used
> with VMS ICON where VAX FORTRAN doesn't handle them automatically. Therefore,
> I'm not sure that we could or should ever expect speedy screen IO under VMS.
> I really like the redirectors and wouldn't want to loose them. Eventually,
> I'd like to see the PIPE | come to VMS ICON as well. Then we could issue
> commands like ICONX PROG1 <DATA.LIS | PROG2 | PROG3 >FILTERED.LIS where
> PROG1, PROG2, and PROG3 are icon executables.
 
From this I conclude that you think that above v6 the fast screen I/O
is sacrificed for the possibility of using redirectors. I can understand
you don't want to loose them, but we don't want to loose the fast screen
I/O. Wouldn't it be great, if your theory is right, to introduce 2 Icon
versions to keep both of us happy?
 
And finally Ken wrote:
 
> The Icon interpreter is a C program that uses C's fwrite() to implement
> the write() function. Do other C programs have these problems under VMS?
 
No, other (well, we only tried one) C-programs don't have that problem.
We compared the screen-output of the following 2 programs:
 
The C-version:
 
---
#include stdio
 
main()
   {
   int i;
   char s[20] = "Hello world.\n";
   FILE term;
 
   term = fopen("SYS$OUTPUT","w");
   for (i=0; i<100; i++)
      fwrite(s,strlen(s),1,term);
   }
---
 
The Icon-version:
 
---
procedure main()
   s := "Hello world."
   every i := 1 to 100 do
      write(s)
end
---
 
The Icon-output was considerably slower. Is the problem somewhere else?
 
 Marcel Bingley
 CELEX
 Nijmegen University - The Netherlands.

CELEX@CELEX.KUN.NL (CELEX -- Centre for Lexical Information) (08/23/90)

 
In addition to my previous message: as Chris already guessed, we run
indeed VAX/VMS (version 5.1-B).
 
Marcel Bingley
CELEX
Nijmegen University - The Netherlands

schwartz@groucho.cs.psu.edu (Scott Schwartz) (08/23/90)

Marcel Bingley writes:	
   Sorry Richard, I don't know if one is available.

There is.  prep.ai.mit.edu has gcc-vms.tar in pub/gnu.