fastes way to search an array?

Mike Bonner bonnmike at gmail.com
Wed Apr 22 17:44:21 EDT 2015


I wonder how easy it would be to add an option to arrayencode.  It already
flattens an array nicely, but not in a searchable way. It would be cool to
add an optional argument that still flattens, but doesn't encode.  The code
to traverse the array is already there, with an option to leave the data
and keys readable, it would then make an interesting batch of searchable
text. Just glancing at an encoded array, it looks relatively
comprehensible.

One issue would be the unordered way arrays are stored. (making
arrayencoded arrays come out different despite identical data, as per the
dictionary page)

On Wed, Apr 22, 2015 at 2:26 PM, Phil Davis <revdev at pdslabs.net> wrote:

> Hi Tiemo,
>
> How many levels deep are the array elements you want to search?
>
> How many words might each of the searchable array elements contain?
>
> How is the array keyed - by sequential number, a preassigned numeric ID, a
> content description, ...?
>
> Would it be worth your time when loading the primary array to build a
> second array that indexes the primary keys by word? (i.e. make an alternate
> index) Then finding which words are in which primary array elements would
> be easy.
>
> But if your array is "flat" enough, I like Geoff's idea of combining and
> filtering it. But you haven't told us much about its structure.
>
> Thanks -
> Phil Davis
>
>
> On 4/22/15 6:20 AM, Tiemo Hollmann TB wrote:
>
>> Hello,
>>
>> I have an array with 20000 records, where I want to extract all records,
>> which either "begins with" or "contains" a search string.
>>
>> Up to now I just loop thru the whole array, do the compare and extract the
>> result records. I wonder, if there is a way to speed up this search? E.g.,
>> does it makes a difference, if I compare the string in the key or the data
>> of the array while looping thru? I mean, would it make a difference, if I
>> would create an "associative" array, where my search looks up in the keys
>> of
>> the array, either by looping thru the array, or by extracting first the
>> keys
>> of the array into a separate variable, instead in the data of the original
>> array?
>>
>> Would it make a difference looping thru a variable, which just contains
>> the
>> keys of the array, instead of looping thru the complete array, because of
>> the smaller "footprint" in the memory?
>>
>> Or shouldn't I care about these differences and just let LC makes its job?
>>
>> Any experiences welcome,
>>
>> Tiemo
>>
>>
>>
>>
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>
>>
> --
> Phil Davis
>
>
>
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>



More information about the use-livecode mailing list