• Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

AltME groups: search

Help · search scripts · search articles · search mailing list

results summary

worldhits
r4wp90
r3wp879
total:969

results window for this page: [start: 401 end: 500]

world-name: r3wp

Group: All ... except covered in other channels [web-public]
Sunanda:
27-Feb-2005
Some of them are natives, and some are mezzanine code.

That gives you a choice: use the natives for speed, or the mezzanines 
for convenience.
Micha:
28-Feb-2005
how to alter the speed of reproduction the  sound of  file *.wav 
?
[unknown: 9]:
23-Apr-2007
I plan to keep running Opera on a regular bases.  I think there are 
more features than I'm seeing so far, but in a nutshell:


-	Separate Universe: Having a "another" browser is a good way of 
keeping things sepeate.  For example I might use Opera for my Qtask 
test accounts, and for checking up on some "grouping" of sites, since 
Opera is good at opening multiple tabs at start up (although it should 
stagger them since this is one of the speed hits).


-	Cache: It seems to auto pull a page it decides is the last version. 
 I'm not sure how it decides this yet.  But if I figure it out, this 
is a cool feature.


-	Magic wand: Great feature.  It should have its OWN password.  In 
other words.  Andy, Billy, and Carry, all use the same computer. 
 There are a lot of families that do this. IT would be nice to group 
your log ins to the same sites (AB and C all have separate Yahoo 
account, and separate Amazon accounts).  So they can basically Log 
in first with Opera, then go to town.  Even better would be an online 
service for this.  Can't wait for Identity 2.0.


-	Overview:  Opera has this cool feature of showing you a 3x3 grid 
of thumbnails of you fav sites.  This is cool.  So cool I want to 
see if there is a plug in for FF for this too.-
Group: !AltME ... Discussion about AltME [web-public]
Rod:
23-May-2007
I have looked at Ashley's RebGUI work already, very nice.  Need to 
bring my basic REBOL up to speed though to start using it.  I did 
note the bundles part already as well, very helpful.
BrianH:
26-Dec-2007
I've been noticing AltMe freezing when retrieving a message - when 
done, it goes back to normal. Is this a network latency or speed 
problem, or something else?
amacleod:
1-Feb-2009
I've been using Altme for a project with a guy who is very non-tech. 
He did not know how to drag a window. Anyway, it is working out great. 
We are using File sharing to re-format a bunch of text files and 
with the abilty to add comments and check lists its saving a lot 
of time over traditional Email. He is still not really up to speed 
so once he is it wil really shine. And with the abiltty to just add 
new members where they can read any old messages to see where we 
are and what we have been doing.


I regret not using it for my Appraisal business. My partner and I 
had to email files back and forth all the time. And sometimes we 
needed to get files from one another but one of us was away or not 
at our computer. If we used Altme we would never have had that problem.
Pekr:
1-Feb-2009
Altme is absolutly cool even with its efficiencies. I set-it-up in 
10 minutes for our small team, and the communication is - instant. 
The only problem is the noise - it has IM nature, so you go off-topic 
pretty fast. But other than that, so far, no other web based system 
can compare in speed. Simple AltME DMS is also good for some basic 
stuff. Off-line sync nature is also welcomed sometimes.
Maxim:
31-May-2009
btw, IMHO,  the current altme droppings aren't due to networking 
speed/internet woes ... right now, when I post I get a turnaround 
well below half a second.

It almost feels instantaneous.  still I must relog every so often, 
If I want to be syncing again.  the server just stops responding 
after a few minutes.  :-(
Geomol:
12-Feb-2010
Seems ok speed here.
Henrik:
26-Mar-2010
yes, I see the same thing. I recall there was a sudden drop a couple 
of years ago in general speed and it has been like that since.
Group: Core ... Discuss core issues [web-public]
Graham:
4-Nov-2005
But now we can use rebcode to speed it up ?
BrianH:
29-Dec-2005
Yeah, IN can speed things up a bit when repeatedly accessing the 
same member of a object, saving on lookup time. It can be used to 
provide object field access in rebcode by calling it with apply too. 
Useful function.
MichaelB:
6-Jan-2006
Another thing that would interest me, is how is the speed impact 
when using your above function, now even with closures - I mean the 
closure function copies everything on invocation and also make-instance 
itself binds everytime anew?
Terry:
28-Jan-2006
Yeah, local versions of that scattered around the world would be 
help with the speed..your's is too slow for me
Geomol:
21-Feb-2006
Well, each of the elements (numbers) in a tuple is an integer from 
0-255. Doing a binary operation with that restriction and an integer 
without that restriction should maybe return none or an error? I 
guess, REBOL is optimized for speed doing this, so the result is 
undefined. (You can probably guess some internal rules/side-effects.)
JaimeVargas:
21-Feb-2006
These operations can be defined correctly. The values returned are 
improper imo. And the speed optimization doesn't gain much.
[unknown: 10]:
28-Mar-2006
How do i check If a value in serie a does occeur in b on a specific 
position ? Currently im doing that with a foreach including a for 
loop..But somehow rebol should have something buildin i thought? 
or not.. unqiue intersect and difference are not good enough for 
this...and speed is a concern too..
[unknown: 10]:
30-Mar-2006
talking about speed improvement!! that 'for loop is very slow compaired 
to the 'repeat ;-) thanks..
Gregg:
12-Apr-2006
Well, you can write your own; if just prototyping, the speed isn't 
critical (we did 160 bit math for Maarten, using bitsets, at one 
point). That said, if you can use a version with rebcode, just wrap 
a mezzanine around the ops. 


That said, I wouldn't mind having standard SHIFT and ROTATE funcs 
that can operate on integer, or series values. Bit ops are also necessary 
for implementing certain algorithms.
Maxim:
25-Apr-2006
right now every time it creates 100000 new nodes, my loop's speed 
steadily increases by about 0.065 %
eFishAnt:
25-Apr-2006
but it seems it would be a speed - size tradeoff.
BrianH:
25-Apr-2006
The way you speed up appends is to force the block to preallocate 
at least as much memory as you think you will need right away by 
specifying that number as the second argument to MAKE.
Maxim:
25-Apr-2006
just for the record, I tried using lists, but in this stress test, 
they were quite memory intensive (compared to blocks) and eventually, 
the GC got slower at a rate quicker  than the speed improvement I 
did notice in the begining.  sooo as always, speed vs flexibility 
vs RAM still applies as always.
Volker:
20-May-2006
enblock (reduce deblock data) 3

Some meazzines i use sometimes. But they are meazzines, if speed 
reeally is  an issue..
Oldes:
29-Sep-2006
Graham: as I need the date conversion again, I found that to make 
it useful, you have to add the error check anyway so it's:

>> t: now/time/precise loop 10000 [all [not error? try [d: load "sss"] 
date? d]] now/time/precise - t
== 0:00:00.031

>> t: now/time/precise loop 10000 [all [not error? try [d: load "1-1-2007"] 
date? d]] now/time/precise - t
== 0:00:00.047

>> t: now/time/precise loop 10000 [error? try [to-date "1-1-2007"]] 
now/time/precise - t
== 0:00:00.047

I would not use loading. to-date is more clear, shorter and with 
same speed.
Group: View ... discuss view related issues [web-public]
Henrik:
12-Jun-2005
hehe... well, there litterally are about 50 things missing yet. I'm 
emphasizing on having speed even on huge lists and minimal editing 
capabilities.
Rebolek:
13-Jun-2005
there's "to image!" and it's 600x600 pixels so I think it's REBOL 
redraw speed limitation...
shadwolf:
12-Jul-2005
even if the wind speed is not enought significant
shadwolf:
12-Jul-2005
for example today  on paris we have wind from north  N (360) speed 
12 KT.
Anton:
12-Jul-2005
OK, wind speed is shown by another widget.
shadwolf:
12-Jul-2005
What I want to symbolise is the wind speed and direction and the 
humidity
DideC:
13-Jul-2005
It's not a bug but an intented behavior : it's a pair input style. 
There is for steps, each step can add any value to the pair. The 
repeat speed is also a parameter.
ie:

 stick-style speed 8 steps [1 2 5 10] ==> 8 is the repeat speed (rate) 
 and 1, 2, 5 and 10 are the values added to the pair!, depending how 
 you move the stick.


 stick-style value-mode decimal! ==> value is a block of 2 decimal! 
 values rather than a pair!
Henrik:
31-Aug-2005
it seems to be about the same speed
Geomol:
1-Sep-2005
Henrik, it must be something special with your setup, and you get 
slow console output on the
do http://www.rebol.com/speed.r

speed-test, as we talked about. You could post your speed output 
here somewhere and specify your setup. Maybe others have a solution!
Geomol:
1-Sep-2005
I get:
Console:   0:00:01.703 - 297 KC/S
Processor: 0:00:00.406 - 2128 RHz (REBOL-Hertz)
Memory:    0:00:01.344 - 35 MB/S
Disk/File: 0:00:00.203 - 150 MB/S

on a 2.4GHz Pentium 4, 512 MB ram (not sure about speed, it's an 
ASUS P4P800 board), ATi Radeon 9600, not the newest drivers.
Henrik:
17-Sep-2005
I've been grumbling over a few observations I did on early versions 
of Canvas and ROAM regarding SHOW on three different machines: A 
slow PC linux laptop, my fast Windows PC with a Radeon 9500 graphics 
card and my mac mini with medium speed Radeon 9200 graphics chip. 
For my tests I used the ROAM object browser available in the desktop 
under Rebol/REBOL Tools.


When I maximize ROAM to full screen on my laptop and mac, they are 
rather slow at redrawing the highlight bar. But if I move the mouse 
quickly to the top/bottom of the list, the highlight skips those 
entries that can't be highlighted in time, and therefore it remains 
fairly responsive even if the frame rate is low.

However on my fastest machine with my powerful Radeon 9500, the highlight 
bar moves at a snails pace behind the mouse pointer, insisting on 
redrawing every highlight. It takes at least a full second to reach 
the current mouse position and the event system is locked and REBOL 
is fully concentrating on SHOWing the list face.


The amount of time SHOW takes to display the list view is dramatically 
dependent on the size of the window. A small 400x400 window is fast 
enough for normal use, but a 1280x1024 window is very slow.


It looks to me like a frame rate problem: Somehow my fast machine 
calculates a specific very high framerate (say 50 fps) that SHOW 
should handle for the list face, but can't keep up at all. Therefore 
50 SHOW operations take 2-3 seconds longer than they should and the 
delay occurs and it drowns out the event handling. This framerate 
is apparently tuned properly on the Linux and the Mac so it never 
becomes a problem there. How is this framerate calculated?


Also when I run the console benchmark program, I get remarkably bad 
performance on text output on my normally fast Windows machine, while 
the mac and linux consoles output text 5-10 times faster. Reports 
from other Windows users say my console is very slow.


I'm really just wondering if others with Radeon graphics cards and 
Catalyst drivers have similar problems.


Not all is bad: This framerate problem can be solved within REBOL. 
I did a simple delay system for Canvas which sped things up quite 
a bit on my machine and I've just done a dynamic method for ROAM. 
The delay system simply implements a DELAY-SHOW function which does 
not invoke SHOW unless a specific amount of time has passed. The 
method I did for ROAM is dynamic in that it measures how long a SHOW 
takes and adjusts the delay accordingly plus a tiny safety margin 
of 0.01 seconds. It works quite well. At the cost of a reduced framerate 
and sometimes missing a redraw at the end of a mouse move, I get 
a much more responsive ROAM, and the framerate adjusts nicely between 
large and small windows.

See if you can tell the difference between:

http://www.rebol.com/view/tools/roam.r
and
http://www.hmkdesign.dk/rebol/roam.r
Volker:
19-Oct-2005
Maybe right time. rebcode goes speed, iterated lists goes memory.
Pekr:
18-Nov-2005
imo, with current speed of broadbands, where dial-ups are going away, 
something like 5 secs of timeout could be enough?
Henrik:
1-Jan-2006
uploaded 0.0.11

Changes:

      New: Header can now be defined from the words in OUT-COLS or IN-COLS

      New: No longer need to manually create the subface for the list
      Fix: DATA was not properly initialized

      Fix: List was updated twice during all manipulation functions added 
      in 0.0.10

      New: Added /no-show refinement to FLT-LIST to speed up certain updates 
      that require setting the selected row before showing
Anton:
5-Mar-2006
Ingo, thought it must have been there.. Interesting behaviour. I 
wonder if it is intentional ? Could be for speed in high-throughput 
applications.
Gabriele:
2-May-2006
i'd guess path is going to stay this way for speed (internal only), 
but select could be a good interface to it.
Anton:
12-May-2006
You can speed it up a little bit by doing this:
view/new/title center-face main: make-face/spec 'box [
  size: 400x400 
  rate: 50 feel: make feel [
Henrik:
12-May-2006
I see no speed difference, but maybe it needs to be measured.
Anton:
13-May-2006
Ah well, looks only about 1% faster.  I remember also Cyphre reporting 
that face refreshes speed up significantly when the offset is at 
0x0.
Robert:
19-Jun-2006
I add the probe do-events and here is the result:
probe do-events

make port! [
    scheme: 'event
    host: none
    port-id: none
    user: none
    pass: none
    target: "events"
    path: none
    proxy: none
    access: none
    allow: none
    buffer-size: none
    limit: none
    handler: none
    status: none
    size: none
    date: none
    url: none
    sub-port: none
    locals: none
    state: make object! [
        flags: 4719107
        misc: none
        tail: 0
        num: 1
        with: "^/"
        custom: none
        index: 0
        func: 12
        fpos: 0
        inBuffer: none
        outBuffer: none
    ]
    timeout: none
    local-ip: none
    local-service: none
    remote-service: none
    last-remote-service: none
    direction: none
    key: none
    strength: none
    algorithm: none
    block-chaining: none
    init-vector: none
    padding: none
    async-modes: none
    remote-ip: none
    local-port: none
    remote-port: none
    backlog: none
    device: none
    speed: none
    data-bits: none
    parity: none
    stop-bits: none
    rts-cts: true
    user-data: none
    awake: func [port][wake-event port]
]
Henrik:
5-Sep-2006
anton, interestingly also, speed has nothing to do with it. you can 
do the same thing at keyboard typing speed.
Henrik:
5-Sep-2006
(that is, run each iteration at keyboard typing speed, not full rebol 
light speed :-))
Group: I'm new ... Ask any question, and a helpful person will try to answer. [web-public]
mhinson:
29-May-2009
Just realised if I dont go to bed now the birds will start singing 
& the sun will be comming up again.. Rebol seems to cause time to 
speed up :-)
mhinson:
8-Jun-2009
I cant get the library to accept it :-(
make object! [
    code: 200
    type: 'syntax
    id: 'invalid
    arg1: "path"
    arg2: "intIpaddrS/"
    arg3: none

    near: {(line 68) write/append outFile reduce [either debug [currentFile 
    tab i tab] [""] hostname tab ipVrfForward tab interface tab vlan 
    tab mode tab trunkEncap tab nativeVlan tab allowedVlans tab upState 
    tab intDesc tab speed tab duplex tab intIpaddrS/(count1) tab QualifiedNetworkS/(count1) 
    tab tagMtu newline]}
    where: none
]
Sunanda:
13-Jun-2009
Use of 'return is partially a personal style issue. It is, literally, 
not needed if the last value your function handles is the one you 
want returned; in that case omiting the 'return can speed up a function 
considerably.


On the other hand, consider "literate programming" conventions: it 
can be polite to spell out the details so future code readers do 
not need to recapitulate your clevernesses just to work out what 
is returned......The code snippet below can return three separate 
things: spelling it out would help future generations!

    f: func [a b][
      either a > b [
          print a
         ][
         if a = b [b + 5]
        ]
     ]
BrianH:
17-Jun-2009
Some of them will speed up parse performance, others will have little 
effect outside of their specific operation.
Steeve:
26-Dec-2009
mostly, speed-up improvements. except for 2 functions AFAIK.
Do you know which ones guys ?
(Brian, you don't play :-)
Graham:
27-Dec-2009
if your code is slow, can always speed it up by running a faster 
cpu :)
Group: Parse ... Discussion of PARSE dialect [web-public]
PeterWood:
4-Nov-2008
If it's not fast enough you can speed it up by adding a rule to consume 
the unwanted parts.
BrianH:
8-Nov-2008
I am the editor of the PARSE proposals.


It was decided that I perform this role because Carl is focused on 
the GUI work right now and someone qualified had to do it. With Carl 
busy and Ladislav not here, I am the one left who has the most background 
in parsing and the most understanding of what can be done efficiently 
and what can't. When the PARSE REPs of old were discussed, I was 
right there in the conversation and the originator of about half 
of them, mostly based on my experience with other parsers and parser 
generators. Because of this I am well aware of the original motivation 
behind them, and have had many years to think them through. It's 
just head start, really.


I am also the author of the current implementation of COLLECT and 
KEEP, based on Gabriele's original idea, which was a really great 
idea. It is also really limited. Collecting information and building 
data structures out of it is the basic function that programming 
languages do, and something that REBOL is really good at. I am not 
in any way denigrating the importance of building data structures. 
I certainly did not mean to imply that your appreciation of that 
important task was in any way less important.


The role of an editor is not just to collect proposals, but to make 
sure they fit with the overall goal of the project. This sometimes 
means rejecting proposals, or reshaping them. This is not a role 
that I am sorry about - someone has to do it to make our tool better. 
We are not Perl, this is not anything goes, we actually try to make 
the best decisions here. I hate to seem the bad guy sometimes, but 
someone has to do it :(


PARSE is a portion of REBOL that is dedicated to a particular role. 
It recognizes patterns in data, extracts some of the data, and then 
calls out to the DO dialect to do something with the data. It doesn't 
really do anything to the data itself - everything happens in the 
DO dialect code in the parens. It is fairly simple really, and from 
carefully designed simplicity it gets a heck of a lot of power and 
speed. That is its strength.


The thing that a lot of people don't remember when making improvements 
to a dialect like PARSE is that PARSE is only one part of REBOL. 
If something doesn't go into PARSE, it can go into another part of 
REBOL. We have to consider the language as a whole when we are doing 
things like this.

Here is the overall rationale for the PARSE dialect proposals:

- All new features need to be simple to explain and use, and fast 
at runtime.
- A good feature would be one of these:

  - An extremely powerful enhancement of PARSE's language recognition.

  - A fix to a design flaw in an existing feature, or a compatibility 
  fix.

  - A serious improvement to a sufficiently common use case, or common 
  error.


The reason I didn't want to put COLLECT and KEEP into PARSE is because 
it is a small part of a much bigger problem that really needs a lot 
of flexibility. Different structure collection and building situations 
require different behavior. It just so happens that the DO dialect 
is much better suited to solving this particular problem than the 
PARSE dialect is. Remember, PARSE is a native dialect, and as such 
is rather fixed.


There are some PARSE proposals that make parse actually do something 
with the data itself: CHANGE, INSERT and REMOVE. We were very careful 
when we designed those proposals. In particular, we wanted to provide 
the bare minimum that would be necessary to handle some very common 
idioms that are usually done wrong, even by the best PARSE programmers. 
Sometimes we add stuff into REBOL that is just there to solve a commonly 
messed up problem, so that a well debugged solution would be there 
for people to choose instead of trying to solve it again themselves, 
badly. (This is why the MOVE function got added to R3 and 2.7.6, 
btw.) Even with that justification those features might not make 
it into PARSE because they change the role of PARSE from recognition 
to modification. I have high hopes, though.


Another proposal that might not make it into PARSE is RETURN. RETURN 
is another ease-of-use addition. In particular, the thing it makes 
easy is stopping the parse in the middle to return some recognized 
information. However, it changes the return characteristics of PARSE 
in ways that may have unpredictable results, and may not have enough 
benefit. The proposal that has a better chance of making it is BREAK/return, 
though I'd like to see both (we can hope, right?).


Most of the REPs from Gabriele's doc have been covered. Most of them 
have been changed because we have had time in the last several years 
to give them some thought; the only unchanged ones are NOT and FAIL, 
so far. Some have been rejected because they just weren't going to 
work at all (8 and 12). THROW and DO are still under discussion - 
the proposals won't work as is, but the ideas behind them have merit. 
The rest have been debated and changed into good proposals. Note 
that the DO proposal would be rejected outright for R2, but R3's 
changes to word binding make it possible to make it safe (as figured 
out during a conversation with Anton this evening).


There are other features that are not really changes to the PARSE 
dialect, and so are out of scope for these proposals. That doesn't 
mean that they won't be implemented, just that they are a separate 
subject. That includes delimiter parsing (sorry, Petr), tracing (sorry, 
Henrik), REBOL language syntax (sorry, Graham), and port parsing 
(sorry, Steeve, Anton, Doc, Tomc, et al). If it makes you feel better, 
while discussing the subject with Anton here I figured out a way 
to do port parsing with the R3 port model (it wouldn't work with 
the R2 port model). I will bring these all up with Carl when it comes 
to that.


I hope that this makes the situation and my position on the subject 
clearer. I'm sorry for any misunderstandings that arose during this 
process.
Oldes:
9-Nov-2008
not always. if you need maximal speed. and you  trust the data and 
rules.
Chris:
4-Dec-2008
dehex, agreed -- until the speed trade off becomes worth it.  Which 
may be if you are wanting to get more than just the language from 
the string.
Gregg:
14-Jun-2009
Economical how, in space, speed, or complexity? e.g., repeated FINDs 
can seem inelegant, but are easy to understand and maintain.

If lines match more than one rule, what is the desired behavior?


Assuming you have test data, and if performance is the key, have 
you done any quick tests?
Steeve:
30-Sep-2009
I remember having requested 3 commands to speed up the management 
of  our own stack in the past [push, pop and rollback]
Maxim:
12-Oct-2009
n break allows you to tell the parser that you DON'T want any backtracking. 
 its a way to optimize rules for speed, if nothing else.
Maxim:
12-Oct-2009
but n BREAK allows us to leverage smaller rules reuse, as if they 
where large complex rules and still benefit from the same speed of 
a root rule backtrack.
BrianH:
12-Oct-2009
I think that Carl is trying to balance speed, ease of use, and debugability. 
In practice n BREAK would be tricky to debug, and doesn't actually 
reflect what PARSE does internally. Apparently PARSE isn't actually 
recursive descent - it just fakes it with a state machine.
Steeve:
11-Dec-2009
same as mine, except i use THRU to speed up the process
Maxim:
13-Apr-2010
ladislav, Remark changes the input on the fly to implement function 
html unfolding, and using that improved speed by 50 times, when compared 
with traditional series manipulations.

so yes its seriously usable   ;-P
Maxim:
13-Apr-2010
its not a single change/part which is the issue, its managing the 
stack, allocating all those blocks over and over... the sheer speed 
of the parse loop, blows away all the other looped/recursive algorythms 
in my usage so far.
Pekr:
15-Apr-2010
my take on "speed" is as follows - ppl sometimes object, that you 
use "interpreter". And my answer is - why should I care? The thing 
is either fast enough for me, or it is not fast enough for me. If 
you will try to edit video using REBOL level pixel manipulation, 
you surely will not be happy. But - if your app behaves real-time 
or generally time results are acceptable for you - why to worry at 
all?
Ladislav:
16-Apr-2010
I updated the above mentioned Rebol wikibook section - the speed 
discussion subsection added. So, read, it, please (the latest, i.e. 
yet unsighted version!) and see also the CureCode ticket #1570, which 
is related to this issue.
Maxim:
17-Apr-2010
and extra speed consideration of having to allocate/copy/destroy 
a series
Group: !RebGUI ... A lightweight alternative to VID [web-public]
Graham:
3-Nov-2005
Just to get you up to speed, I think the major problem to fix is 
the editor in the area.  To fix : cursor keys, and pageup/down behaviour 
especially at boundary, and also cr behaviour.  Highlighting is also 
problematic.
MichaelB:
17-Nov-2005
pretty smooth - maybe I have to try it one day ... what I did was 
put a lot of text in Carls first test of the transformation matrix 
example, where he wanted to know if the behavior is correct - and 
if you have a lot of text and zoom into it, it gets slow - but there 
are people here who know better (and might prove me wrong) - for 
me it would be too nice if somebody proves me that the same stuff 
as in the link is in sufficient speed possible with Rebol, even if 
there has to be some clever arrangement of the objects to be shown 
- I mean that objects not visible don't get rendered
MichaelB:
18-Nov-2005
I guess so, Second LIfe has also pie menus. 

Graham: this didn't mean that there are other ways to use menus and 
of course depending on the input device there are better ways. If 
you have keyboard shortcuts for everything you can even be faster 
in doing things. If you have a scroll wheel zooming into is pretty 
natural as is paning with a extra button - but didn't anybody feel 
that in this zoomit demo one could surpisingly well use the interface 
and especially with what speed ? (just compared to putting the same 
functions to a traditional context menu)

Also one should just try to use mouse-gestures in Opera - after using 
them you always want to use them - even though I often out of habit 
do the same in IE or somewhere else and it doesn't work - the most 
important thing to note for me is that it's worth having an interface 
one can form habits in using it - only then usage will be very fast. 
If one puts the one or other stumbling block into it, it will never 
flow, you always have to concentrate on what you're actually doing. 
Just imagine driving a car and having always to think about how to 
steer or shift (for many of the european people :).
Pekr:
2-Jan-2006
anton, what is the problem with checksum? It depends on syncing strategy, 
but you have those files on both side (client, server) anyway. afaik, 
the problem with checksum could be its speed. But since we have open/seek, 
we could do checksumming defined,e.g. 3 parts of files, first xy 
bytes, last xy bytes and defined skip somewhere to the middle of 
the file ... dunno if it would work though :-)
shadwolf:
11-Apr-2006
hummm drop down list is a nightmare of coding ... this is typically 
(in my opinion) one of the easyly doable in C/C++ but tricky to do 
with rebol. Tricky but why ?? Mainly because of the speed when you 
have to redreaw the main pane and the scrolling interface
shadwolf:
11-Apr-2006
as it's widely dynamical widget you will have to heavily use the 
redraw  i don't know if rebol can handle that properly in term of 
 onscreen drawing speed and on the plan of the memory(this point 
is the dark spot of rebol)
Maxim:
11-Apr-2006
I have done extremely advanced styles in rebol, including a video 
editing timeline with scalable time and slideable tracks,  and face 
can be extremely fast when its used properly.  The only issue so 
far was Draw speed (fixed with AGG) and slow face blitting (cpu based). 
 Otherwise, if your face is not full screen, you can scroll 300000 
cell tables 10 times a second... (yes with advanced styles and resizing 
and the like).
Ashley:
25-May-2006
Latest SVN change (Rev#16) now uses reduce/only to evaluate words 
/ paths without the need for compose. This allows code like:

display "" [
	image i
	bar my-width
	field my-data/field1
	...
]

to be written. It still does not allow inline expressions like:

display "" [
	text my-width - 3 form now/date
	text (my-width - 3) (form now/date)
]


although I'm working on adding support for the later(parenthesized) 
form. As a side note, this is a bit of a shift in my position. I 
used to be of the opinion that explicit declaration via compose was 
more efficient than implicit declaration; but it turns out to be 
less efficient in a number of ways:

	Coding: requires extensive use of compose/deep and parenthesis

 Obviousness: it's not obvious why code like "image my-image" doesn't 
 work

 Complexity: forcing use of compose/deep makes it harder to write 
 action blocks inline [that need themselves to use compose]
	Familiarity: It's not the way VID or other dialects work

 Speed: compose/deep is actually slower than reduce/only and a few 
 subsequent parenthesis reductions


You can thank Graham's comments above as the catalyst to change. 
;)
Pekr:
19-Jul-2006
guys, those of you, working with databases - currently in new grid 
implementation, there are insert column, remove column, swap columns 
functions. Those do physically alter order in block of blocks (data) 
section. Apart from possible speed limitations, do you think it would 
be better to just virtually swap, insert (at the tail), remove (just 
make it invisible), or is it ok?
Henrik:
31-Jul-2006
that's why I built in options to turn off updating when doing multiple 
operations. by doing that, operations can speed up tremendously.
[unknown: 9]:
1-Aug-2006
Ashley is making the same point I am, "end user" vs. programmer (or 
tech).  Any time a programmer says "I do X all the time" all I think 
is that if "I can bottle the exact opposite of X I can make a billion 
dollars."


Hence I wrote above "The exception is when people are dumping databases, 
and those are not using formulas, but rather are for working out 
data.  This is done by programmers, not by users in general."


Never-the-less, if the goal here is the goal, which is for technical 
people to do this, we all still need a solve, which is speed to do 
it.


In Qtask we did part on the server, and part on the client.  So, 
we let you sort columns locally, but would send all the data to the 
server.  What we learned is:

The server would send down all the data.  Slow, but needed.
Then JS would arrange everything into a table.  Slow but needed.

Then JS would sort.  And we allowed 4 levels of sort… Slow, slow, 
slow, and turns out, not so needed.


It turns out that with anything more than about 20 lines it was better 
in the long run to just sort form the server side.


This is not to say this is how this will work where with Rebol.  
My point is more to the idea of playing with UI until you strike 
the right balance of speed and convenience.
Graham:
17-Feb-2007
keyboard navigation is however the only way to drive a gui at full 
speed .. by ignoring the gui!
Group: Rebol School ... Rebol School [web-public]
Geomol:
16-Feb-2009
and REBOL got the speed, I think, if you try Cyphres demo:

do http://www.rebol.com/view/demos/cyphre.r
Geomol:
23-Feb-2009
And if you're really concerned about speed, this is a little faster:

to string! array/initial 5 "abc"
BrianH:
20-Apr-2009
I'm interested to see who gets there first: The languages that try 
to graft safety and high-level features onto C (Cyclone, Vala, ...) 
or the efforts to speed up languages that already have the safety 
and high-level features.
Janko:
20-Apr-2009
BrianH, yes interesting question... ocaml is closing in to c if you 
want FP, Java speed-wise also but has a bigger ram usage and startup 
times I guess. but it's also hard to say "what is the high level" 
that we want. Is it Java like, is it dynamic langs, is it FP
BrianH:
8-Mar-2010
How to read the profiles above: The first is nearly twice the speed 
of the second, but creates more temporary memory.
Janko:
21-Mar-2010
I know that rebol appeared to be the slowest language on debian language 
shootout , but then cheyenne is *much* faster webserver than any 
of the ones made in dynamic languages I tried (even lua). so speed 
is a relative thing it seems (like Brian says)
Henrik:
21-Mar-2010
also when using dialects, there is often a huge speed gain, but you 
can't really code like that in most other languages.
Ladislav:
16-Apr-2010
yes, but it does not look to me like a viable way to replace a CHANGE 
X COPY/PART Y by a cycle of that kind, although I did not measure 
the speed difference, yet
BrianH:
6-Jul-2011
A lot of the syntax features of REBOL were specifically chosen, as 
opposed to the characters used for those features in other languages:

1) To be easier to type on a US English keyboard without having to 
use the shift key as much.
2) To be physically easier to read quickly.


The first means that REBOL is easy to write quickly even though it's 
more verbose than many other languages; it's just fast to type. This 
is why we use [ ] instead of ( ) or { }, lowercase identifiers, and 
- instead of _. The second is why we use / instead of . for path 
separators, and don't make the difference between . and , that important, 
because they are difficult to tell apart without slowing down your 
reading speed, and why more spaces are required between elements 
than are required in many other languages. This makes REBOL easier 
to debug and understand.


There's a ticket for the comma issue http://issue.cc/r3/537which 
also applies to other characters, but that ticket is likely to be 
dismissed. If the ticket were accepted, REBOL would be much more 
difficult to read and debug, which would make it slower and more 
awkward to program in. Not a good tradeoff.
Henrik:
21-Aug-2011
Marco, that is problematic, as copying face objects may destroy certain 
bindings in a face, essentially causing faces to be "entangled", 
some functions work only with the old face and some only with the 
new face. It depends on the style and how it was written. Memory, 
speed and complexity of the operation gets worse, the bigger the 
layout.


It's easier to just generate the face once, store the values and 
use GET-FACE and SET-FACE on the layout.
Group: !REBOL3-OLD1 ... [web-public]
Gabriele:
23-Aug-2006
Henrik: well, actions need to look into a function table, but natives 
probably need to check the type. unless the code for the action/native 
is very small the speed difference is probably unnoticeable.
JaimeVargas:
1-Sep-2006
Some benchmarking should be done to see how much speed it is actually 
gained, while trading for clarity.
Anton:
2-Sep-2006
Brian, delimit function: 

- For long-term readability, I would avoid reusing 'copy as a variable. 
I suggest 'result, even if it means using another word.

- I understand with the /copy refinement you are able to get more 
speed in creating the result block, but I think I would prefer just 
letting the user copy the data before passing to delimit. This would 
give a simpler implementation, easier to read again.

I don't wish to devalue your effort in getting this version - I did 
a similar thing optimizing conjoin - made it harder to read.
Anton:
2-Sep-2006
Brian, I think Jaime was making the same point, as I do above, about 
speed vs clarity, with regards to /copy. Some benchmarking is needed 
comparing:

- delimit/copy data    ; <--- delimit with /copy refinement implemented
- delimit copy data    ; <--- delimit without /copy refinement
BrianH:
7-Sep-2006
In theory, the
    pick [false-val true-val] none? option

pattern should be faster for straight value return than the pattern
    either option [true-val] [false-val]
when no evaluation is required.


I used while on purpose instead of foreach since it doesn't rebind 
the block passed to it. That should speed things up too.
Maxim:
20-Dec-2006
speed.... MUCH faster on lookup
Volker:
11-Feb-2007
You can also not write your own 'do. IMO itis ok that  some things 
 are only possible at native level. Its  not  lisp.

inc/dec/shift are essential enough for speed and commodity, these 
could be an exception. (Maybe  evenn '<< and '>> as  operators, and 
allowed  in parser?)
Maxim:
13-Feb-2007
geomol and others...  INC with lit-words is seriously flawed in actual 
use ... a: inc a  ?? what's the point of it...


lit-words are not word values they are labels, they are not usable 
unless the word exists "somewhere else"  its not THE a you are evaluating 
but AN a somewhere... which is why this is as alien to rebol as anywhere 
else.


if all series can change values "in-place" like append... why not 
allow this for scalars (and others) too?  its already an integral 
part of REBOL ... I don't see the "confusion" in   INC a   changing 
THE a... its exactly like  append a, but for another type... hell, 
I've wanted in-place editing for many things which aren't series 
and it would speed up code, just like not having to copy series all 
the time like python. 

ADD-TO a 10


when you do INC 'a  you HAVE to declare 'A somewhere else... which 
is not in rebol's philosphy.  this is completely different thinking 
to rebol... its much closer to C style... where you expect a to exist 
somewhere...    the lit word syntax, just cause a big confusion within 
the normal chain of rebol coding IMHO its not simple, and certainly 
not obvious... most newbies don't even get what a lit-word is.  just 
like SET which is used only (usually) to implement other tricks in 
the language... we shouldn't be using SET in normal code.  INC is 
not a trick word... its something I'd be using in many scripts, unlike 
SET which I seldom need to.  

just giving my view on this topic.  ;-)
BrianH:
13-Feb-2007
The speed of datatypes comes from the fixed action list. It allows 
the dispatch to be a simple retrieval from a fixed offset into a 
function table, no lookup required. It is not the same thing as general 
class-based methods, which in a language with dynamically typed variables 
would need to do a lookup to figure out where to find the method 
to call, same as with instance-based methods.
BrianH:
13-Feb-2007
I meant style I suppose, though even C is expression-based. The idioms 
would actually be more assembler-like than C-like, for 2-address 
instruction sets like x86. Still, this wouldn't add anything to the 
language that isn't there through other means, except speed. And 
while it wouldn't complicate the interpreter, it would complicate 
the semantics of REBOL, making it harder to explain, debug or reimplement.
401 / 9691234[5] 678910