Divide and conquer. Create 10000 files. In file 0 write all job_ids that are partly or completely between 0 and 1999. In file 1 the range 2000 and 3999. And so on.

After this for any uname_id you would have to check only about 2000 items and seldom more when it overlaps into more than one range (in that case you have to check for multiple finds of the same range, but that check is easy with a result hash)

If you have to check many uname_ids at a time, you should have the uname_ids sorted. That way you need basically the same job-range (which fits easily into memory) for many consecutive checks. In that case even some preprocessing might make sense, where you create a hash with the 2000 numbers of the range as key and an array of job-ranges that include this number as data.

Naturally the 10000 files ist just one possibility, maybe 1000 files with a range of 20000 numbers or something inbetween might make more sense


In reply to Re: mapping coordinates- suggestion needed by jethro
in thread mapping coordinates- suggestion needed by baxy77bax

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.