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
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |