Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search

[REBOL] Re: Language Comparisons

From: moliad::gmail::com at: 17-Oct-2008 0:35

hi all, well for me, in the btree test (a GC oriented test)... just removing the 2 return statements, shrank times by more than 30% in runs I did. since this is a b-tree nothing can be pre-allocated, unless we rebuild the algorythm itself with some 'trick', so all the burden is on the GC itself. removing parens further improved speed by 3% on average now, we all know rebol's GC is pretty basic and has trouble dealing with very large datasets (exponentially slow, maybe even cubed) so this test was hard to further improve, because the main work is internal to the interpreter. If I compare this new benchmark, we are still 17 times slower than python... which is, well... a bit sad. its possible that using structs and preallocating a big chunk of them at a time might have improved the speed, but I don't have time right now to test this. this leads me to... people often forget that rebol is not about implementing the same logic again in a nifty little syntax. its a different computing model, and to be effective, applications must be tuned to its way of thinking. in most cases, many of the usual computer science philosophy is useless in rebol. Many algorythms, just arent needed in the first place. BUT! obviously, the fact that nothing in rebol can be compiled (although parts of it could be jit compiled) is a big drawback in speed. MOST modern languages do SOME jit compilation, some even automatically store it and reuse it, further improving later application runs. IMHO rebcode, should be part of A final R2 version, even if its buggy. we`ve got enface/enpro/enview etc... we should also have one with rebcode enabled (encode) and let users decide if they can cope with the bugs/caveats. in most benchmarks I've seen rebcode was at least 3 times faster and often up to 10 times quicker for simple algorythms. I'm sure some people would implement rebcoded functions we could share on and include as libs in many apps. some smart rebolers might even implement rebcode compilers to convert parts of normal rebol code or single funcs, into rebcode. any how, I was just passing... took a little (and much needed) break to play around with this benchmark. have fun -MAx On Thu, Oct 16, 2008 at 3:03 PM, Carl Read <> wrote: