[comp.sys.mac.hypercard] How to find fields that DO NOT...

fvernon@cudnvr.denver.colorado.edu (Frank Vernon) (06/14/91)

From article <4506@uakari.primate.wisc.edu>, by gdavis@primate.wisc.edu (Gary 
Davis):

>Incidentally, I've just started playing with Reports 2.0 from Nine to Five
>Software. It has a good report generator and a neat spreadsheet like
>window for viewing a table generated from records in a HyperCard stack.
>It's very fast. In the spreadsheet view I selected all records which
>didn't contain the city name. It took Reports only 15 seconds to come
>up with the list, where HyperCard itself took 2.5 minutes. How can it
>be so much faster?
>
>Gary Davis

Well, since he asked... :-)

Reports and MasterView (the "neat spreadsheet like window") use an entirely 
different technique for selecting and sorting cards than HyperCard. HyperCard 
essentially uses a sophisticated "hashing" approach with some sort of
mysterious, proprietary "hinting" technique thrown in for speed. Reports, on 
the other hand, searches through the file structure of the HyperCard stack 
itself and creates lists of "keys" which it then searches and sorts. In 
version 2.0 of Reports, you can expect slightly more than 100 cards per second 
under normal conditions, and it looks like Gary was getting about 333 cards 
per second in his example.

Near the end of July, we will begin shipping Reports 2.1. Among its numerous 
new features are a significant increase in select and sort speeds. While 
select and sort speeds are kind of dependent upon several factors, we are 
getting around 1000 cards per second with 2.1. The new version uses a more 
sophisticated RAM and disk based swapping and caching technique along with a 
new sort algorithm.

At the same time we release Reports 2.1, we will release a new product called 
"Index" that allows you to create external B-Tree indexes of the information 
in your HyperCard stacks. Using Index, Gary would have been able to find his 
cards in a 5000 card stack in less than 1 second. (My actual test in a 5188 
card stack was 21 ticks.)

Index is also integrated with Reports and MasterView, so you can print Reports 
and open views with essentially no select or sort times.

If any one is interested in more info on Reports 2.1 or Index, send me mail 
and I will be glad to send more info. If the demand is great enough, I will 
post info here as well.


Frank Vernon
Nine to Five Software
1-800-2-925-925
fvernon@cudnvr.denver.colorado.edu