http://qs1969.pair.com?node_id=471032


in reply to Re: Finding an intersection of two sets, lean and mean
in thread Finding an intersection of two sets, lean and mean

Allas, this doesn't work... I tried this in my test-set and the result is that @intersection = @$list2, which is _not_ true. I can't seem to figure out why this happens yet. Your example should be perfectly legal. I know. It is only much slower

Replies are listed 'Best First'.
Re^3: Finding an intersection of two sets, lean and mean
by Sinister (Friar) on Jun 29, 2005 at 14:52 UTC
    Found it!

    Perhaps you meant 'grep' instead of 'map' ?? ;->

    This gives a different result set then mine (larger in every case), but this could be a problem with my code...

    It is faster, untill the sets become a teeny weeny bit bigger (eg: +5M lines)
      Yes, grep is the correct operator, not map. See - I did bork my code. :-)

      As for the +5M lines thing - that becomes a function of your available RAM. Your string solution will hit the same limit, but at around 20-30M (if 5M is your limit with hashes).

      Note, your code to build the hash string will bomb faster than your code to iterate through it because you use foreach instead of while to iterate through the list. This creates a copy of the list you're foreach'ing through whereas while does not.


      My criteria for good software:
      1. Does it work?
      2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
Re^3: Finding an intersection of two sets, lean and mean
by dragonchild (Archbishop) on Jun 29, 2005 at 14:36 UTC
    if you;re going to tell me that my code is wrong, show me why. That way, I can either fix my code or demonstrate how you misused it (or both). Don't just say "Uh, your code suxx0rs" and walk away. That's not how OSS works.

    My criteria for good software:
    1. Does it work?
    2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
      Oh, I am sorry you spilled your drink while reading the first line of my reply and never got passed that same line.

      Let me quote myself:

      > I can't seem to figure out why this happens yet.
      > Your example should be perfectly legal. I know.
        > I can't seem to figure out why this happens yet.
        > Your example should be perfectly legal. I know.
        

        Want some help with that? Maybe I borked my code, but I'll never be able to tell you that until you give me the test you're using.

        Note - I didn't test my code. I literally typed it in and hit the submit button. In fact, I doubt I've ever run that code in my life. So, me borking it is very probable. But, I can't fix it unless you show me the failing test!


        My criteria for good software:
        1. Does it work?
        2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?