Sign up on the Revelation Software website to have access to the most current content, and to be able to ask questions and get answers from the Revelation community

At 27 SEP 1999 09:23:20AM Oystein Reigem wrote:

Let's say I have this app that reads and writes a few rows in the same table S again and again. And inbetween it reads other rows, in a few other tables. I assume I could save execution time by making some caching scheme for that first set of rows. But is it really necessary? I thought perhaps the system does some caching by itself? Or will reading of the other rows purge the cache of the S rows? And will the replies to the above questions be different if S is SYSLISTS?

- Oystein -


At 27 SEP 1999 02:57PM Steve Smith wrote:

The biggest bottleneck is probably your network card and cable. Try attaching a local SYSLISTS file and see if that helps. If it is on a RAMDRIVE then that may be most beneficial. In one case on an NT workstation I had 10 data entry personnel each keying into a REVG system that used 10 mBit network hub. The traffic was so slow that some transactions took 30 minutes to commit. By moving files locally (menus, lists, bp, templates, voc) the time was reduced considerably.


At 27 SEP 1999 05:25PM akaplan@sprezzatura.com - [url=http://www.sprezzatura.com]Sprezzatura Group[/url] wrote:

Assuming the records are the same, which I'm guessing they are since caching would be pointless if the records are different.

One, OI has better control over memory than ARev did so, depending on how big the file is, don't worry about caching and just save the record in a common var.

Two, use XLate if you're not going to write it back to the OS. XLate maintins a cache for it's purposes, so if you XLate the SYSLISTS records and READ the other records, you should have some form of cache available to you.

Three, get a copy of CACHE.MFS from Cameron.

akaplan@sprezzatura.com

Sprezzatura Group

www.sprezzatura.com_zz.jpg


At 28 SEP 1999 03:54AM Oystein Reigem wrote:

Steve and Aaron,

Thank you for informative replies! So far… :-)

Aaron - have you got any specs on the Xlate caching? I haven't got any experience with caching algorithms myself but it doesn't take much imagination to realize there are very many ways to do it, and that a small change in parameters (e.g number of buffers) can make a lot of difference in an actual situation.

I'll ask Cameron for CACHE.MFS. Or try to do a search for it.

But my most important follow-up question is - what if I ask the same questions for a web application? I did want answers for a non-web app too, but my most pressing case is a web app.

To be more specific: I have a web app where users can query a database (with simple queries against indexed fields - queries that are fast to execute). The system stores the result lists in SYSLISTS and allows the users to browse the lists in fixed size chunks of a few tens of hits each (like Alta Vista shows you twenty hits at a time). Let's say a number of simultaneous web users query the database and get back result lists of tens, hundreds or thousands of hits. Each time a user wants to browse a new chunk of his current result list the system has to re-read the appropriate SYSLISTS row (or rows in that less frequent case where the result list is long and a chunk is split between several SYSLISTS rows) and pull out the appropriate chunk.

Carl has suggested I do some caching myself with a large common dimensioned array - e.g 10 elements of 64K each. That is probably a good idea, but I'd very much like to know what kind of caching goes on already.

Carl said he thinks READO caches. Do you know if that is so?

- Oystein -

View this thread on the forum...

  • third_party_content/community/commentary/forums_nonworks/c6eee6ee4d6df74a852567f900498c65.txt
  • Last modified: 2023/12/28 07:40
  • by 127.0.0.1