in reply to Re^4: Memory leak!
in thread Memory leak!

You said "no", but you didn't add anything to support that claim before changing the subject. Please elaborate.

Replies are listed 'Best First'.
Re^6: Memory leak!
by BrowserUk (Patriarch) on Dec 13, 2011 at 04:30 UTC
    but you didn't add anything to support that claim

    Oh dear. Come back in the morning when you've calmed down. And if you still cannot see the evidence I posted, go get your eyes tested.


    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    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.

    The start of some sanity?

      You've showed that Deparse considers for (;;) {} and while (1) {} equivalent (which means there's a strong chance that they are very similar). This is consistent with while (1) {} getting optimised to for (;;) {}, so it doesn't support your contradiction.

      You've showed that Deparse considers while (1) {} to be more readable than for (;;) {} on average. This doesn't support your contradiction.

      So you didn't show that while (1) {} doesn't get optimised to for (;;) {}. Easy to prove that it does, though. Note the lack of any condition in the following:

      >perl -MO=Concise,-exec -e"while (1) {}" 1 <0> enter 2 <;> nextstate(main 3 -e:1) v:{ 3 <{> enterloop(next->5 last->6 redo->4) v 4 <0> stub v 5 <0> unstack v -e syntax OK

      For comparison,

      >perl -MO=Concise,-exec -e"for (;;) {}" 1 <0> enter 2 <;> nextstate(main 3 -e:1) v:{ 3 <{> enterloop(next->5 last->6 redo->4) v 4 <0> stub v 5 <0> unstack v -e syntax OK

        Not to interrupt our regularly scheduled disharmonious bisecting of the rabbit, but perhaps while(1) gets optimized to while():

        % perl -MO=Deparse -e"while() { print }" while (1) { print $_; } -e syntax OK % diff <(perl -MO=Concise -e'while($x){print}') \ <(perl -MO=Concise -e'for(;$x;){print}') %

        Carry on. (Like I could stop either of you.)

        - tye        

        Gah! You really are infuriating when you go into your pointless, my-view-of-the-world-is-the-only-view defensive mode.

        But you didn't show that while (1) {} doesn't get optimised to for (;;) {}. Easy to prove that it does, though. Note the lack of any condition in the following: ... For comparison.

        So, the way you choose to view this is that for(;;) {} gets parsed as while(1){} (as demonstrated); but then, because the generated condition is a constant, it get "optimised" back to a special form of for again.

        That couldn't possibly be simply an unconditional loop.

        You really do live in a world of your own making don't you. (I'm done.)


        With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
        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.

        The start of some sanity?