http://www.perlmonks.org?node_id=733999


in reply to Re^2: Compact and sparse bit vector
in thread Compact and sparse bit vector

I've never really found myself doing vector operations of bitmaps against each other. I didn't notice that being a feature of the linked Netflix node. I do occasionally find it convenient to have a sparse bitmask. Usually I just use a hash of the stringified integer.

⠤⠤ ⠙⠊⠕⠞⠁⠇⠑⠧⠊

Replies are listed 'Best First'.
Re^4: Compact and sparse bit vector
by BrowserUk (Patriarch) on Jan 04, 2009 at 10:34 UTC

    There's no implied criticism of Judy arrays, or your module, for the uses for which they are designed.

    And indeed, there is no requirement in the NetFlix challenge to use bitvectors at all. There is a need however, to perform some more or less complex relational operations across the three datasets to arrive at the goal of the challenge: To estimate a user rating for given user for a given film (that they haven't yet watched or rated) based upon how others that have watched and rated the given film have rated it.

    Whilst this kind of query is relatively trivial to code using SQL, the volumes of raw data, and size of the cross-product of the film & user bases is such that it is time&memory intensive to produce the results. Using bitwise storage for this type of join query is extremely fast. Some literature.


    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.