[Coco] the final stage of optimization
Lothan
lothan at newsguy.com
Fri Nov 20 23:35:42 EST 2009
It would be a lot easier to load the driver and descriptor for a RAM drive
and use it just like a regular drive.
--------------------------------------------------
From: "Wayne Campbell" <asa.rand at yahoo.com>
Sent: Friday, November 20, 2009 11:32 PM
To: "CoCoList for Color Computer Enthusiasts" <coco at maltedmedia.com>
Subject: Re: [Coco] the final stage of optimization
> It would be nice to keep the data in ram. I have been toying with the idea
> of trying to use GFX2's buffer commands to see if I can use them to store
> the records in memory and work on them there. Then I would only need to
> create the file when it was ready to be saved. I'm really uneducated in
> terms of things like indexing and linked-lists and the like. If you
> wouldn't mind, could you explain the index with keys and record positions
> idea? It sounds interesting.
>
> Wayne
>
>
>
>
> ________________________________
> From: Aaron Wolfe <aawolfe at gmail.com>
> To: CoCoList for Color Computer Enthusiasts <coco at maltedmedia.com>
> Sent: Fri, November 20, 2009 8:46:09 AM
> Subject: Re: [Coco] the final stage of optimization
>
> Hi, I don't know your project well enough to be sure, but this seems
> like a situation where keeping the data in ram, or at least an index
> with the keys and record positions, would be worth the space. Have
> you considered something like that?
>
> -Aaron
>
>
> On Fri, Nov 20, 2009 at 2:33 AM, Wayne Campbell <asa.rand at yahoo.com>
> wrote:
>> I have been aware that the one thing that is slowing decode down more
>> than anything else is having to use disk files to store, search and sort
>> records. This email concerns searches and sorts.
>>
>> I have never really gotten a good understanding of how search and sort
>> algorithms are designed, and how they operate, beyond the least complex.
>> When I wrote DCom, I wrote sort procedures that were recursive. They
>> worked, but I never really understood if they were working efficiently or
>> not. I do know that the sorting operations were faster after they were
>> modified.
>>
>> In decode, I am using a simple search algorithm. Basically, it starts
>> with the first record, and continues reading each succeeding record until
>> either a match is found or the last record is read. The number of records
>> that get added to the file depends on the I-Code being decoded. The more
>> records in the file, the longer the search takes.
>>
>> Three files are created, variables reference, line reference, and literal
>> reference. Decoding createmsg (one of Ron's modules, about 2K in size),
>> the decode takes about 20 minutes. Decoding RConfig (another of Ron's
>> modules, about 16K in size) takes about 40 minutes. Decoding decode (20K)
>> takes 2 hours.
>>
>> I have the same problem with my sort. I'm using a sifter-style (for lack
>> of a better term) of sort. It starts with the first record, proceeds to
>> the last record, then performs the sort in reverse, starting with the
>> last record and proceeding to the first. Each pass of the routine
>> performs both of these operations. It works, and it was much faster than
>> using the top-to-bottom method I first used that was based on the search
>> routine. However, it takes as long to sort the literals records as it
>> does to decode the instruction section of the I-Code module.
>>
>> There has to be a better way. Can someone help me understand how to make
>> my search and sort algorithms faster?
>>
>> Wayne
>>
>>
>>
>>
>> --
>> Coco mailing list
>> Coco at maltedmedia.com
>> http://five.pairlist.net/mailman/listinfo/coco
>>
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> http://five.pairlist.net/mailman/listinfo/coco
>
>
>
>
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> http://five.pairlist.net/mailman/listinfo/coco
>
More information about the Coco
mailing list