LC Script in PHP File

Richard Gaskin ambassador at fourthworld.com
Tue Nov 25 11:42:20 EST 2014


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
  richard at livecode.org




More information about the use-livecode mailing list