Malte Brill wrote:
> as the livecode solutions tend to become rather slow if there is
> a certain amount of nesting involved, I want to come up with a shell
> alternative to directorywalking.

I would be interested in your benchmarks.

In my own (limited) testing I've found that once we added appropriate error checking for inaccessible directories the many common LC routines floating around for this sort of thing work quite well.

Similarly, in another thread you wrote:
> What cured the problem finally and made me not investigate any
> further was that for that project, a replacement for libURL was used.

If that was for capabilities not found in libURL there's no other option yet, but in my testing of libURL vs wget for simple HTTP access I found that the shell overhead wound up making libURL faster by more than 20%.

Even better: Mark Talluto recently found a significant performance degradation in v7+ in which his tests show other forms of variable manipulations to be much faster in v7+ than in v6 and earlier:
<http://quality.livecode.com/show_bug.cgi?id=16387>

Mark Waddingham is working on the specific recipe reported there now, and last I heard is on his way to improving the array-loading test case to be more on par with non-array variable loading.

Better still: Mark recently revamped the lineoffset function to greatly improve its performance. In v7 the Unicode libraries afforded an opportunity to add a very valuable feature to lineoffset, the ability to use even a multi-character string as the lineDel. However, the pattern-matching needed for multi-char strings is much more complex than for a single char which has slowed it down for the most common single-char use case, so now the engine uses a different method for single- and multi-byte chars to optimize each usage.

When these get folded into a delivered build (v8DP9 I presume) it would be helpful to re-check earlier benchmarks.

In the meantime, with directory crawls and HTTP it may be helpful to re-check benchmarks compared with shell functions even in DP8, since apparently a lot of optimization work has been going on in recent versions, as setting up the shell context is not without its own overhead.

--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 ____________________________________________________________________
 ambassa...@fourthworld.com                http://www.FourthWorld.com


_______________________________________________
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