News : The level of daily SPAM has reached insane proportions, all registrations are now manual. I ask you to send me an e-mail (john (at) murga (dot) org), to confirm that you want me to create an account for you.


Post Reply  Post Thread 
MurgaLua 0.6.8
Author Message
Juergen
Member
***


Posts: 81
Group: Registered
Joined: May 2007
Status: Offline
Reputation: 0
Post: #1
RE: MurgaLua 0.6.8

JohnMurga Wrote:
I have done reading up on this ... And the threading features will be removed in tonights build.

Threads changed a lot in kernel 2.6 compared to 2.4 ...
And the overhead, hassle and uncertainty make it even less attractive to keep this in.

Specially with non-blocking IO and co-routines.

Sorry for wasting your time :-)

I want to ensure that the builds are compatible with DSL.


Hi John

I don't think it would be justified to remove such a feature because of troubles with such old systems (glibc 2.3.3 is from January 2005). Even if you remove threading support it is not guaranteed that it will run on 3+ year old systems. Unfortunately in this respect Linux isn't Windows, where ancient binaries still run (except Windows Vista). I still remember those days, when most distributions switched from libc5 to glibc2 and it was nearly impossible to run binaries on different distributions or even on newer or older releases of the same distribution. Then later there were changes in the loader, the C++ ABI, ....

Even if you remove the threading functionality you can't expect that murgaLua runs on a system pre glibc2.3 or (I'm not even sure if glibc2.3.[01] works).

so if you wan't to support such old systems (I guess LD_ASSUME_KERNEL=2.2.5 still won't do the trick on DSL) then it would make sense to install such an old system (maybe with qemu or virtualbox) and compile there a murgaLua_vintage release (Although there could be problems with fltk). I guess luathreads also works with linuxthreads.

While it makes sense to use coroutines and async io multiplexing (I haven't had time to check everything, but I gess there is still no switch?), they can't replace seperate threads (there are situations where syscalls can block for seconds and this can't be handled with coroutines, if you still wan't at least some responsiveness). Also there are increasingly more multiprocessor systems which could benefit from thread support.

Btw.: I just did a few tests with io from luasys:
734121984 bytes (with hot caches of course) to /dev/null:

  • stock lua with stdio: ~1400ms
  • murgaLua with stdio: ~2200ms :-(
  • murgaLua with sys io and fresh buffers for every read: ~1100ms
  • murgaLua with sys io using the same buffer: ~355ms ;-)

I guess you count this as speedup. Unfortunately the stdio performance problem is still there.

Juergen

04-17-2008 01:55 AM
Find all posts by this user Quote this message in a reply
Post Reply  Post Thread 

Messages In This Thread
MurgaLua 0.6.8 - JohnMurga - 04-14-2008, 03:29 AM
RE: MurgaLua 0.6.8 - mikshaw - 04-15-2008, 08:40 AM
RE: MurgaLua 0.6.8 - mikshaw - 04-15-2008, 08:56 AM
RE: MurgaLua 0.6.8 - JohnMurga - 04-15-2008, 11:58 PM
RE: MurgaLua 0.6.8 - mikshaw - 04-16-2008, 03:55 AM
RE: MurgaLua 0.6.8 - JohnMurga - 04-16-2008, 09:48 AM
RE: MurgaLua 0.6.8 - JohnMurga - 04-16-2008, 06:56 PM
RE: MurgaLua 0.6.8 - jpjacobs - 04-16-2008, 09:57 PM
RE: MurgaLua 0.6.8 - JohnMurga - 04-16-2008, 11:00 PM
RE: MurgaLua 0.6.8 - Juergen - 04-17-2008 01:55 AM
RE: MurgaLua 0.6.8 - mikshaw - 04-17-2008, 03:48 AM
RE: MurgaLua 0.6.8 - JohnMurga - 04-17-2008, 05:04 PM

View a Printable Version
Send this Thread to a Friend
Subscribe to this Thread | Add Thread to Favorites

Forum Jump: