REBOL 3.0

Comments on: Updated example extensions and DLL

Carl Sassenrath, CTO
REBOL Technologies
14-Aug-2009 4:47 GMT

Article #0234
Main page || Index || Prior Article [0233] || Next Article [0235] || 2 Comments || Send feedback

Just a quick note: The extension examples documentation has been updated to show several more examples, including string and block access.

Also, early testers noticed that the DLL had problems loading on some XP systems. What a surprise! Anyway, we've made a small change that fixes that. You should re-download the zip file and use the newer DLL (the 20K not the 5K version.)

2 Comments

Comments:

popper
14-Aug-2009 13:51:21
i dont claim to know much about this optimisation, but it seems your intent in this post and the examples is to show people how using the new extensions framework can get you far more speed from a C routine than from the old internal ways and you point to some working examples.... they should follow as a guide

http://rebol.com/r3/docs/concepts/extensions-examples.html

given its you Carl, id thought you would have given some optimised working routines there for the maths functions you seem intent on showing off so as to get the best from R3 from the get go....

it seems your team might look at including all of these faster routines for x86 and include them with the rebol code examples to take advantage of them, even though they are not optimal, they appear to be far better than the current examples.

http ://graphics.stanford.edu/~seander/bithacks.html

as Marko points out in his PDF p19 http ://www.codex.gr/system/files/SoftwareOptimizations.pdf

"2.2 Branch elimination (cont.)

How do we elimitate branches?

● Avoid using if/else blocks to evaluate an expression, eg. MIN/MAX could be calculated this way: // Only valid if (INT_MIN <= x-y <= INT_MAX)

// min(x,y)

r = y + ((x - y) & ((x - y) >> (sizeof(int) * CHAR_BIT – 1)));

// max(x,y)

r = x - ((x - y) & ((x - y) >> (sizeof(int) * CHAR_BIT - 1)));

instead of:

#define MIN(a,b) ((a) < (b) ? (a) : (b))

#define MAX(a,b) ((a) > (b) ? (a) : (b)) "

i know i said i would not advocate rebol or related rebol video GUI any more, but ill give it one more request and leave it at that if theres really no interest here.

please also include some basic examples of generic ffmpeg or VLC API, and show a working example of how you would make a basic rebol extension to use that current library, to take an input AVC.mkv datastream open a windows and put it on screen playing audio and video, and if possible also inside an updated rebol browser R3 plugin with a play pause stop etc...

for assembly programmers making their rebol extensions this is said to be a very good reference to have a round im told. http ://www.agner.org/optimize/

as is this http ://alien.dowling.edu/~rohit/nasmdocb.html

Maxim Olivier-Adlhoch
16-Aug-2009 22:45:12
Carl, thank you for integrating plugins.

I have been waiting 10 years for this.

The future of REBOL is now assured. The IT industry can no longer ignore REBOL. IMO, Its the single most important improvement to the platform since its very first release.

Post a Comment:

You can post a comment here. Keep it on-topic.

Name:

Blog id:

R3-0234


Comment:


 Note: HTML tags allowed for: b i u li ol ul font span div a p br pre tt blockquote
 
 

This is a technical blog related to the above topic. We reserve the right to remove comments that are off-topic, irrelevant links, advertisements, spams, personal attacks, politics, religion, etc.

REBOL 3.0
Updated 30-May-2017 - Edit - Copyright REBOL Technologies - REBOL.net