aboutsummaryrefslogtreecommitdiff
path: root/comparison.html
diff options
context:
space:
mode:
authorBenoit Germain <bnt.germain@gmail.com>2011-01-04 21:31:17 +0100
committerBenoit Germain <bnt.germain@gmail.com>2011-01-04 21:31:17 +0100
commita288b73c3f0fff7df02bf3b73d1973258e04f5d4 (patch)
tree34af29f097f34d97dcabe9d5d70f2e236c48f03d /comparison.html
parent3fe8732f32e3675c62a46fcb70fb95ef936376a5 (diff)
downloadlanes-a288b73c3f0fff7df02bf3b73d1973258e04f5d4.tar.gz
lanes-a288b73c3f0fff7df02bf3b73d1973258e04f5d4.tar.bz2
lanes-a288b73c3f0fff7df02bf3b73d1973258e04f5d4.zip
Take all code from Asko Kauppi's SVN server, and push it here so that the github repository becomes the official Lanes source codebase.
Note that Asko's SVN server holds version 2.0.9, whereas this is version 2.0.10, but I don't see any real need to update SVN if it is to become deprecated. Next steps: - upgrade the rockspec to the latest version - make the html help available online somewhere Signed-off-by: Benoit Germain <bnt.germain@gmail.com>
Diffstat (limited to 'comparison.html')
-rw-r--r--comparison.html28
1 files changed, 27 insertions, 1 deletions
diff --git a/comparison.html b/comparison.html
index 84ef9ca..bebc68b 100644
--- a/comparison.html
+++ b/comparison.html
@@ -49,6 +49,7 @@ Pros:
49 49
50Cons: 50Cons:
51 - requires OS threads 51 - requires OS threads
52 - currently 1:1 mapping to OS threads (limits scalability and maybe performance)
52 - not utilizing network parallelism (all threads on one CPU) 53 - not utilizing network parallelism (all threads on one CPU)
53 54
54Sample: 55Sample:
@@ -70,6 +71,31 @@ Sample:
70<< 71<<
71 72
72 73
74===========
75 luaproc (by Skyrme, Rodriguez and Ierusalimschy)
76===========
77
78<A HREF="http://www.inf.puc-rio.br/~roberto/docs/ry08-05.pdf">http://www.inf.puc-rio.br/~roberto/docs/ry08-05.pdf</A>
79
80The PDF seems to be an authorative voyage into how Lua could handle multithreading,
81in a multicore "separate universes" manner (not like what coroutines already do).
82
83Pros:
84 - Tackles both multicore and network parallelism
85 - M:N relationship to kernel threads (one kernel thread runs multiple luaprocs)
86 - Simple (so they say)
87 - Lua author (Roberto) included
88 - Can be used also without _any_ OS threading support (works like Rings, then)
89
90Cons:
91 - Data passing for "strings, number, or booleans" only
92 "More complex types must be encoded in some form"
93 (serializing data is slower than the stack-to-stack copies used by i.e. Lanes)
94 (yet, serializing allows for network parallelism)
95 - Message passing is synchronous (only). The sender will wait until the
96 receiver has taken the message.
97
98
73================== 99==================
74 Lua coroutines (by Lua authors) 100 Lua coroutines (by Lua authors)
75================== 101==================
@@ -157,7 +183,7 @@ but it won't use more than one CPU core. Other differences include:
157 (Lanes opens the needed ones) 183 (Lanes opens the needed ones)
158 184
159 - marshalls numbers, strings, booleans, userdata 185 - marshalls numbers, strings, booleans, userdata
160 (Lanes marshalls also non-cyclic tables) 186 (Lanes also marshalls tables, functions, upvalues, ..)
161 187
162 - "remotedostring" allows executing code in the master state 188 - "remotedostring" allows executing code in the master state
163 (Lanes does _not_ allow subthreads to trouble/modify master automatically, 189 (Lanes does _not_ allow subthreads to trouble/modify master automatically,