[comp.sys.atari.st] Folded vs STedi

t19@nikhefh.hep.nl (Geert J v Oldenborgh) (07/25/89)

I just played around a bit with Folded.

Here are some benchmarks against the other folding editor on the ST,
STedi (version 2.0beta).  They are not quite fair:  STedi is a commercial 
product whereas Folded was given away free, and apologizes for the lack of 
attention paid to speed.  Furthermore, the PC and UNOX versions of STedi are 
still in the beta-test stage only.

Reading a 87.5K file from cache, including start-up time:
	Folded:	14.78 s
	STedi:	 2.22 s

Searching for the string ZZZZ at the end of the file:
	Folded:	 5.6 s
	STedi:	 0.5 s

Scrolling through the entire 3582 line file, using J/shift arrow:
	Folded:	76.4 s
	STedi:	11.4 s

Substitute one char -> one char, 1536 times (m->M):
	Folded:	 6.0 s
	STedi:	 1.5 s

Substitute "delta" -> "lange string" (this forces the line to be moved), 512 
times:
	Folded:	 8.3 s
	STedi:	 0.8 s

Furthermore, I have some questions:	
- How does one go to a specific line and edit it (as in 
  "Error on line 737 of ffdxc0.f: Wrongly nested DO statements")
  (STedi: <Command>[737 opens all folds to get to this line)
- Is there no 'find matching bracket' command?
- The incremental search is quite annoying on a slow line, or even the 
  ST screen, is there a way to turn it off?
- Screen updates are too frequent.

I still do not like its concept of folding-by-indentation or seperate file 
too much.  The info in the file does not look too bad.  Here is a screendump 
of STedi (on UNOX), to prove that fold info in the file can add to readability:

-------------------------------------------------------------------------------
*###[ ffdcs:
        subroutine ffdcs(cs3,ipi12,cy,cz,cdyz,cd2yzz,cdyzzy,cpi,cpiDpj,
     +                                          ii,ns,isoort,ier)
***##*comment:***********************************************************
*  ## declarations:
*  ## check input:
*  #[ normal case:
        if ( isoort(1) .ne. isoort(9) .or. isoort(1) .gt. -10 ) then
            if ( lwrite ) print *,'ffdcs: normal case'
            .
            some Fortran statements
            .
        endif
*  #] normal case:
*  #[ rotated R's:
      .
      rest of program
-------------------------------------------------------------------------------

I hope this helps identifying areas in which Folded can be improved,

	Geert Jan van Oldenborgh
	t19@nikhefh.hep.nl

trb@stag.UUCP ( Todd Burkey ) (07/26/89)

In article <223@nikhefh.hep.nl> t19@nikhefh.hep.nl (Geert J v Oldenborgh) writes:
>I just played around a bit with Folded.
>Here are some benchmarks against the other folding editor on the ST,
>STedi (version 2.0beta).  They are not quite fair:  STedi is a commercial 
>product whereas Folded was given away free, and apologizes for the lack of 
>attention paid to speed.  Furthermore, the PC and UNOX versions of STedi are 
>still in the beta-test stage only.

Yes...the main reason actually is probably due to the fact that
although I originally started FOLDED on the ST, I did most of the
development and completion testing of the code on Unix systems. As
a result, I dropped all the blitting code, use of alternate memory
pages, direct memory writing of fonts, etc in the final released
version. With Turbo ST and now quick-ST, the screen updating in
FOLDED speeds up a great deal, with no extra effort required on
my part :-). If I wanted to make FOLDED into an expensive product,
I would probably add a Gem interface and do some heavy assembly
programming for the screen and search routines (although I doubt
I would try to get as fast as Tempus).

>Furthermore, I have some questions:	
>- How does one go to a specific line and edit it (as in 
>  "Error on line 737 of ffdxc0.f: Wrongly nested DO statements")
>  (STedi: <Command>[737 opens all folds to get to this line)

  ^fg737  would move you to it...although to do more than a simple
	  line edit you couldn't use folded's temporary unfold
	  command, but rather would have to unfold your way to
	  the line. I am looking into adding a 'goto real line number'
	  command for the 1.0 release that unfolds on the way, for
	  the same reason (and because the relational capability
	  in folded needs it...the RGE (relate goto error)
	  command will automatically open the file in error and goto
	  the line number if you are editing the error listing
	  file.)

>- Is there no 'find matching bracket' command?

  Nope...never needed it. Although I do have matching brace and
  comment block logic already in the code, so may add an external
  command for it sometime.

>- The incremental search is quite annoying on a slow line, or even the 
>  ST screen, is there a way to turn it off?

  There will be in 1.0...I added both styles of searching recently
  while testing the 'emacs-like' human interface mode in FOLDED.

>- Screen updates are too frequent.

  Yep...got kind of irritating when I was test installing FOLDED the
  other day on an Ardent over a 2400 baud line...Knew the delays
  weren't due to a slow computer :-). The 0.9e version that I'll
  be sending out soon still has some optimization needed in it for
  partial screen update handling. I am also looking at adding some
  TASM routines to speed things up on the IBM PC side, since the other
  editors that use assembly code routines for scrolling blow FOLDED
  away on the IBM PC from a screen updating point of view. Also, I
  am back in the PC (386) world at my new job, so have a more pressing
  need to get that sped up :-).

>I still do not like its concept of folding-by-indentation or seperate file 
>too much.  The info in the file does not look too bad.

Sorry, but we are really talking about two type of FOLDING...as I said
in previous notes, I needed a more generic technique that didn't
impact at all on the files I was editing. I easily do half of my
folding on documentation and general information files that I have
heavily related with my source code...to stick all the folding and
relational information into the files would simply be too messy
a problem later on (i.e. needing to filter the info out every time
I printed the text files...or worse yet, forgetting to filter it
out.) I may allow an option to include the fold/relation info in a
file at the users' choice, but I doubt that would ever be an internal
default in FOLDED.

  -Todd Burkey
   pwcs!stag!trb

kbad@atari.UUCP (Ken Badertscher) (07/27/89)

t19@nikhefh.hep.nl (Geert J v Oldenborgh) writes:

| I just played around a bit with Folded.
[ benchmarks deleted ]
| I still do not like its concept of folding-by-indentation or seperate file 
| too much.  The info in the file does not look too bad.

I'm sorry, but that fold info looked pretty nasty to me.  I really like
the way Todd has implemented the folding, using separate files.  I imagine
this scheme must make the relational features of FOLDED easier to implement
as well (and thus, easier for us to hack on! ;-).

Your points about speed are right on, though - FOLDED could use quite a bit
of optimizing.  As you mentioned, though, Todd does explain in the
documentation that it was brought up to be small and functional, and not
necessarily a speed demon.

One thing I really like is the way the screen redraws (from the line
you're on outwards).  But I too wish that it didn't redraw quite so much ;-).




-- 
   |||   Ken Badertscher  (ames!atari!kbad)
   |||   Atari R&D System Software Engine
  / | \  #include <disclaimer>

trb@stag.UUCP ( Todd Burkey ) (07/29/89)

In article <1627@atari.UUCP> kbad@atari.UUCP (Ken Badertscher) writes:
>One thing I really like is the way the screen redraws (from the line
>you're on outwards).  But I too wish that it didn't redraw quite so much ;-).

I'll be optimizing the excess redraws out in 1.0...I don't notice it
on Unix, since I usually have my terminal set at 19,200 or 38,400, but
I recently started working for a company whose main development system
is IBM PC based (286/386), so I've been optimizing some things out of
sheer necessity :-).  And yes, I'll still port things back to my ST's,
even though I'm re-entering the world of Windows, Turbo C, Norton, and
worms (segments) once again.

BTW, Say hi to Sig from whats left of the ex-ETA gang here in the Cities...
Most of the ex-ETA people I know have moved out-state, but some of us
fools like hot summers and cold winters.

  -Todd Burkey
   pwcs!stag!trb