Andre Garzia wrote:
I've just replied on another thread why FastCGI is not a good candidate for
LiveCode in my humble opinion.

As for Apache Modules, those things are on the way out. If we want LC
Server to be taken seriously then it need to work with Apache and Nginx.

I like to imagine this in stages: if an Apache mod is easier to build, perhaps it could be done first, maybe even as a community effort, with a FastCGI implementation done later once the engine team has had more experience delivering threading to us.

Kevin and I had a good talk yesterday about community initiatives surrounding education*, and part of the discussion briefly touched on LC Server.

Of course right now the core team at RunRev has their hands quite full with the current lineup of items on the Road Map, but the value of a multi-threaded LC Server engine is well recognized there.

From various discussions of debugging we're already aware of plans to integrate a form of threading for that, at last separating the debugging engine from the instance it's debugging.

By the time that's in place the engine team will have had many good opportunities to explore useful ways threading can be applied to other tasks later on, such as for Server use.

So yes, it's not possible to use FastCGI well with the engine as it is, but the engine is an ever-evolving thing.

In the meantime, there's plenty we can do to move that along, mostly by just creating demand for it.

Build lots of cool stuff with LC Server, build your audience, and hopefully by the time you have an audience large enough to truly need a FastCGI implementation we'll have one.

For now, both Kevin and I have been very impressed with the work of one of their most recent hires, a fella you'll find in the forums by the name of peter_b. He's been taking tests from Malte's Performance Benchmarking Project there (see <http://forums.livecode.com/viewtopic.php?f=67&t=22072>), and using those to help guide the engine team for areas in which v7 performance can be brought up to the level we had with v6.7.

Donald Knuth reminds us that "Premature optimization is the root of all evil", and v7 just delivered a mind-blowingly complete implementation of Unicode across the whole of the LC code base. Clearly it couldn't be tightly optimized at the same time as it was first written, but efforts are well underway to bring its performance closer to v6.7 right now.

Interestingly, there are already some new changes in v7 that are pretty smart for optimization, like copy-on-write-only. As they continue to find other ways to enhance performance without us needing to modify our scripts, Kevin's pretty confident we'll see v7 performance where we want it, possibly even faster over the long term than v6.7 is today.

And right now, unless you're running Twitter (and congrats if you have a project that popular), CGI is pretty nice. It provides very clear separation of processing and memory space, and the overhead difference between multiprocessing and multithreading isn't as significant as one might think.

In fact, on one server I had not long ago we had a FastCGI implementation of PHP driving Drupal on the same server as a CGI-based custom search engine made in LC - we were able to perform all the steps needed to deliver search results in 1/3 the RAM and 1/5 the CPU time as Drupal could deliver a page of static content.

So even with CGI today things are pretty good, and with both performance in v7 being worked on now which will benefit CGI, and likely a FastCGI version further down the road, it only gets better.

In the meantime, it would be super-cool to see more libraries and frameworks in the community for this sort of thing. Right now we have a great one from Ralf Bitter, RevIgniter, but just as the PHP community has Drupal, Wordpress, Joomla, and others, I believe there's plenty of room for lots of other toolkits to round out our options for delivering dynamic content and services with LiveCode Server.



* Anyone interesting in teaching LiveCode or teaching with LiveCode is strongly encourage to participate in the "Teaching with LiveCode" section of the forums - as the community moves forward with more resources for educators that'll be our main working group to bring it all together:
<http://forums.livecode.com/viewforum.php?f=25>

--
 Richard Gaskin
 LiveCode Community Manager
 rich...@livecode.org

_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to