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


in reply to Re^9: Utter FUD!
in thread is ||= threadsafe?

I think you are willfully misunderstanding what Tye meant by mentioning fork

Sorry ysth, but no. I am wilfully understanding Tye's motivation for repeatedly mentioning "fork emulation" is this regard.

And I am wilfully denying him the use of that easy-to-understand slur, by showing that in regard to iThreads his, easy understanding, belies the truth.


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.

Replies are listed 'Best First'.
Re^11: Utter FUD!
by ysth (Canon) on Oct 27, 2010 at 07:47 UTC
    Truth, shmooth. If you understand and disagree with his intent, argue against that; don't play games arguing against his words in ways you know don't apply to his intent.
    --
    A math joke: r = | |csc(θ)|+|sec(θ)|-||csc(θ)|-|sec(θ)|| |
    Online Fortune Cookie Search
    Office Space merchandise

      Let's see if I can bring this thread to a meaningful close.

      Would you stand up and describe what happens when you call threads::create() as a "fork emulation" at say, next year's YAPC? In front of Artur Bergman?


      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.

        I would certainly say the code for ithreads was written with the goal of emulating fork and that it shares most of the drawbacks of pre-copy-on-write fork - except for being much more inefficient due to perl being forced into the role of OS and not having good tools for that.

        But I don't see how you could possibly intend that to bring this thread to a close. You continue to argue against a blanket statement "threads emulate forks" instead of against either whatever "political" message you think was behind Tye connecting the two or against the specific aspect of fork that Tye was explicitly referring to.
        --
        A math joke: r = | |csc(θ)|+|sec(θ)|-||csc(θ)|-|sec(θ)|| |
        Online Fortune Cookie Search
        Office Space merchandise
      If you understand and disagree with his intent

      That is exactly what I believe I've been doing. iThreads do not emulate fork.

      An F1 car has many commonalities with a MAC truck. Does that make it an emulation of a MAC truck?


      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.
Re^11: Utter FUD!
by ikegami (Patriarch) on Oct 27, 2010 at 07:25 UTC

    By common definition of threads, a process's variables are shared among all threads. (Wikipedia says: "In particular, the threads of a process share the latter's instructions (its code) and its context (the values the various variables have at any given moment).") That's not the case with threads, thus the term "fork emulation". It has nothing to do with the point at which execution starts. Yes, it's not a very accurate term, but it's not a slur either.

      By common definition of threads,

      In C yes. How about Erlang? Or Haskell? Or Java? Or.... Why should Perl alone have to have to copy C?

      iThreads are not simple Kernel threads. They could not be so in an interpreted language with fat variables.

      But neither are they new processes--forks defining characteristic--so any allusion to that is simplistic, inaccurate and deliberately misleading.

      You might wanna get off of those coat-tails....


      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.

        Java, yes. C++, yes. Modula-2, yes. I don't know Erlang and Haskell.