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

[REBOL] Rugby performance starting to fade ...

From: petr:krenzelok:trz:cz at: 19-Feb-2002 10:38

Hi, as there is some problem with tcp performance on W9x machines (tests for 100x call to echo function is some 44 sec regardless of machine being P300 or P650), I gave Rugby a test on W2K, 1.4 Athlon XP machine .... Could some of you, help here with some profiling, please? console1: do %rugby.r serve/with [echo] tcp://:8005 console2: do %rugby.r do get-rugby-service http://localhost:8005 s: now/time/precise loop 100 [echo "test"] print now/time/precise - s I received the performance of some 8 - 9 sec, while older Rugby 4.3 gives 0.59 sec on the some machine! Now, - I am doing something wrong, or just new version of Rugby have to use some more complexity .... but the performance drop is, imo, too big to be acceptable, if changes are not significant ... So, actually, Maarten - have you performed any benchmarking yourself? I looked at some sources, and while you refused my proposed unified /secure refinement usage, to have simply secure and non-secure (default) behavior separated, you seem to mix those two levels in 'chain function (too much 'either function usage), and you also add complexity to compose/decompose message functions, because of your new dialect. Most ppl using Rugby surely do regard Rugby being a cool product, but we should be probably more carefull with sudden changes. So, - what is the reason of a slowdown? I also performed following simple tests, so, could too much function call granularity or conditions cause any performance hit in practice? (I performed each test twice, to avoid random result times) ->> huh: "ble" == "ble" ->> s: now/time/precise loop 1'000'000 [c: huh] now/time/precise - s == 0:00:00.77 ->> s: now/time/precise loop 1'000'000 [c: huh] now/time/precise - s == 0:00:00.77 ->> s: now/time/precise loop 1'000'000 [either huh [c: huh][c: huh]] now/time/precise - s == 0:00:02.96 ->> s: now/time/precise loop 1'000'000 [either huh [c: huh][c: huh]] now/time/precise - s == 0:00:02.96 ->> s: now/time/precise loop 1'000'000 [either huh [c: huh][c: huh]] now/time/precise - s == 0:00:02.97 ->> f: does [c: huh] ->> s: now/time/precise loop 1'000'000 [f] now/time/precise - s == 0:00:01.54 ->> s: now/time/precise loop 1'000'000 [f] now/time/precise - s == 0:00:01.59 btw: is there enought ppl intereste in/using Rugby, to create separate yahoo group for it? Maybe we could discuss it more deeply in there. But then our main Rugby guru would have to agree he has good intentions to keep Rugby going ;-) Anyone? -pekr-