Perl 6 - the future is here, just unevenly distributed

IRC log for #marpa, 2014-05-26

| Channels | #marpa index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
01:13 ronsavage joined #marpa
01:33 ronsavage1 joined #marpa
02:19 ronsavage joined #marpa
03:47 Aria Woot. 12x12 transitive_closure in 100ms in javascript.
03:48 Aria (100,000 iterations)
04:13 Aria And even including startup and compilation, 164ms.
04:15 jeffreykegler joined #marpa
04:17 jeffreykegler Aria: re http://irclog.perlgeek.de/marpa/2014-05-26#i_8775098 -- we want to double-check with Jean-Damien who has lots of practice with large grammars, but I think 1000x1000 is on the big side of the cases of practical interest, which is probably the most relevant test.
04:18 Aria Sounds right by what I know so far.
04:18 Aria I'll have to generate a test setup for that.
04:18 jeffreykegler1 joined #marpa
04:20 jeffreykegler1 2000x2000 may also be of practical interest.
04:20 * jeffreykegler1 is having trouble with his Internet connection again
04:21 Aria Gosh that's a large array to go O(n^3) on.
04:23 jeffreykegler joined #marpa
04:24 jeffreykegler When I said fast bit-twiddling was needed, I wasn't joking
04:24 Aria Indeed. On a 1000x1000 matrix, 5ms per iteration.
04:26 jeffreykegler1 joined #marpa
04:26 jeffreykegler1 Internet connection is really bad, I'll have to give up.
04:28 Aria And 285ms for 2000x2000.
05:07 Aria Okay, this is perhaps too good.
05:08 Aria Javascript, 1000 iterations of 1000x1000 transitive_closure: 5.8s.
05:08 Aria C libmarpa, 1000 iterations of 1000x1000 transitive_closure: 8.35s.
05:10 Aria On that note, I'm going to bed. I can't check my work any better right now.
05:26 ronsavage joined #marpa
09:08 seki joined #marpa
09:13 seki ronsavage: re http://irclog.perlgeek.de/marpa/2014-05-24#i_8768750 thanks, it is fixed. And for the emoticons (I suppose you are refering to colon-D and colon-P from PowerBuilder :: DataWindow and MarpaX :: Languages :: Powerbuilder) they do not appear in http://irclog.perlgeek.de/marpa/.
09:50 ronsavage joined #marpa
09:51 ronsavage seki: yeah. I'll have to remember to surround the :: with spaces......
14:21 ilbot3 joined #marpa
14:21 Topic for #marpa is now Logs: http://irclog.perlgeek.de/marpa/today Nopaste: http://scsys.co.uk:8002/marpa Stable release: https://metacpan.org/pod/Marpa::R2 Developer release, 2014-02-14: https://metacpan.org/release/JKEGL/Marpa-R2-2.079_015 Source: https://github.com/jeffreykegler/Marpa--R2
15:10 Aria Oh  there we go. Javascript, 5.8s; C with -O2, 0.9s.
15:10 Aria That's more what I expect.
17:49 jeffreykegler joined #marpa
17:49 jeffreykegler https://drive.google.com/a/jeffreykegler.com/#folders/0B9_mR_M2zOc4WWkweFZGVHN5V3M
17:50 jeffreykegler That's a link to a PDF of the literate programming version of Libmarpa
17:50 jeffreykegler Setting up CWeb, TeX, etc. is a bit daunting, so I created it as a convenience.
17:52 Aria Excellent. I did get CWeb and TeX going last night, actually, and I've been reading that.
17:53 Aria Did you see that I have a JS transitive_closure that's 5x slower than C?
17:53 jeffreykegler Yes.  And I saw the prior scare you gave me. :-)
17:53 Aria Hehe.
17:54 Aria 5x is about what I expect from V8 for naive but well written code.
17:54 jeffreykegler Incidentally, just to underline the importance of transitive closures, I originally had a bug that Jean-Damien caught -- my prior version did not use Warshall's and I screwed up the memory management within it ...
17:54 jeffreykegler when I replaced it with Warshall's the parse ran 50 times faster ...
17:55 Aria I believe it.
17:55 jeffreykegler Not the transitive closure, note, but the whole program.  One change and a 50x speedup.
17:55 jeffreykegler The example was a short parse using a very large grammar.
17:56 jeffreykegler Note, by the way, that for many cases that arise in practice, Warshalls can be O(n^2)
17:57 jeffreykegler A lot of the matrices we need transitive closures on are very sparse, and often are only lightly interconnected.
17:57 Aria Yeah. It's a direct comparison to Earley's algorithm itself, I think. The same structural reasons.
18:53 jdurand joined #marpa
18:53 jdurand Re http://irclog.perlgeek.de/marpa/2014-05-26#i_8777490 - damned -; what bug was that ?
18:55 jeffreykegler Not really a bug in the strictest sense -- but a very sense efficiency issue.
18:56 jeffreykegler jdurand: you were the first person to try to make practical use of a very large grammar with Marpa, and found Marpa was unuseably slow in that case -- as it turned out because of the cost of my old way of doing transitive closures.
19:27 jdurand Ah, remembering - ok -;
20:21 jdurand Jeffrey, in R2.xs, when you associate an action to a rule, forgive me if I am wrong but I guess that you take the completion event of the LHS id, do a progress to get the rule Id, and get the action for that - am I right?
22:34 jeffreykegler joined #marpa
22:35 jeffreykegler jdurand: re http://irclog.perlgeek.de/marpa/2014-05-26#i_8777775 -- no.  The evaluation logic predates events.  Actions are executed based on the stack events from the evaluator.

| Channels | #marpa index | Today | | Search | Google Search | Plain-Text | summary