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

World: r4wp

[!REBOL3] General discussion about REBOL 3

BrianH
27-Dec-2012
[359]
Thanks.
Mchean
28-Dec-2012
[360]
wow impressed with the forward motion.
Andreas
29-Dec-2012
[361]
First baby steps towards R3 64-bit builds:
https://github.com/rebol/r3/issues/45#issuecomment-11746288


TL;DR: We are slowly getting to a foundation for more serious 64-bit 
work.
GrahamC
29-Dec-2012
[362]
64 bit slower than 32 bit?
Andreas
29-Dec-2012
[363x2]
Yes, but that's not really any useful "user level" metric.
(At the moment.)
BrianH
29-Dec-2012
[365]
It would be slower, it would have to push more memory.
Andreas
29-Dec-2012
[366]
The 64-bit builds are not in any way real 64-bit ports. It's just 
getting 32b R3 to build natively. The R3 data structures are tuned 
for 32b architectures. Nothing of that sort is yet done for the 64 
bit builds.
GrahamC
29-Dec-2012
[367x2]
I remember 32 bit windows slower than 16 bit
Oh well, back to the CBM64 8 bit days
Andreas
29-Dec-2012
[369]
My guess for the current timing difference would be that it's mostly 
attributable to misalignment exceptions.
BrianH
29-Dec-2012
[370]
They would have to be larger anyways, just to fit the larger pointers. 
Not yet optimized, but larger.
GrahamC
29-Dec-2012
[371]
Anyway, great progress ... looking forward to accessing large memory
Andreas
29-Dec-2012
[372x5]
I also have tested on a CPU where misalignment penalties are quite 
heavy. Trying this on different CPUs might lead to quite different 
results.
(I'll just delete the timinig remark for now, to avoid unnecessary 
confusion.)
Well, the explanation performance difference is even simpler. It 
comes just from disabling compiler optimisations.
Running on a misalignment-tolerant machine, the unoptimised 64b binary 
is actually slightly faster than the unoptimised 32b binary.
Still a useless "user level" metric, at the moment :)
Pekr
30-Dec-2012
[377]
now, as the situation has changes, some minor topic, but maybe better 
to open it sooner than later - some ppl adopted .r3 extension for 
R3. When working with console, I constantly forget to type .r3 and 
type .r instead. I know, that we want to distinguish R2 to R3 scripts, 
but as R2 is most probably not going to be opensourced, and although 
it will serve us well for quite some time, what about once again 
get back to .r extension even for R3?
Ladislav
30-Dec-2012
[378]
...we want to distinguish R2 to R3 scripts...

 - it depends. I found out it was much easier to maintain %include.r 
 running in both R2 and R3 than to have two separate versions needing 
 the same care twice.
BrianH
30-Dec-2012
[379x3]
I use .r for scripts that are expected to run in R2 or R3, .r2 for 
R2-only scripts and .r3 for R3-only scripts. However, a lot of my 
scripts are .cmd and call themselves with the appropriate Rebol.
In general, it is rare for me to use .r for scripts other than rebol.r, 
and I use the same one with R2 and R3.
I use .cmd instead of .bat because the tricks you use to call Rebol 
safely require cmd.exe (in NT-based Windows) and won't work with 
command.com (in Win9x/Me). It's not necessary to use .cmd for this, 
but it's a good reminder.
Robert
30-Dec-2012
[382]
.r = both
.r2 = R2 only
.r3 = R3 only
GrahamC
1-Jan-2013
[383x3]
Didn't help take you to a web page on www.rebol.com once?
Ahh, it's help/doc
Regarding 'read https://github.com/rebol/r3/blob/master/src/core/n-io.c

are lines 297-308 not used?
Robert
2-Jan-2013
[386]
How about a native to create temporary filenames? It's something 
I need quite often.
Andreas
2-Jan-2013
[387]
Yes, I would like that as well.


For a proper solutation that avoids race conditions, it should create 
temporary files, not file_names_, though. So that would probably 
require a temp:// scheme?
TomBon
2-Jan-2013
[388]
Or just use syscalls .The posix extension I am working on will provide 
these features, template based creation too. 
for windows you can use this api call.  


http://msdn.microsoft.com/en-us/library/windows/desktop/aa364991(v=vs.85).aspx

example:

http://msdn.microsoft.com/en-us/library/windows/desktop/aa363875(v=vs.85).aspx
Andreas
2-Jan-2013
[389x2]
Of course you'd use syscalls to implement it. The scheme remark was 
about how to expose them in Rebol :)
Looking forward to your POSIX extension. Besides tempfiles I'd also 
regularly need support for working with symlinks.
Maxim
2-Jan-2013
[391]
using a scheme is a good idea.  then we can add various options to 
how to build them including things like auto naming, manual naming, 
prefixed naming, numbered, and the way it reports if a tmp file already 
exists.
BrianH
2-Jan-2013
[392]
Definitely sounds like a job for an extension.
TomBon
2-Jan-2013
[393]
yes link, unlink and lstat are included too.
Andreas
2-Jan-2013
[394]
readlink(3P) would be nice as well.
TomBon
2-Jan-2013
[395]
ok, will include this and CPU_SET ;-)
Andreas
2-Jan-2013
[396]
heh, CPU_SET will make this highly linux-specific, though. scheduling 
this externally with taskset(1) doesn't fit your needs?
TomBon
2-Jan-2013
[397x4]
there are ~450 functions in total. many of them are redundant but 
I guess I will hit ~150. it's more diligent work because it's just 
a thin wrapper.
yes, but this extension will be the foundation of  a nix/serverbased 
rebol.
controlling hardware resources will be very important here. just 
a quick fork, setaffinties, done. (so far in theory) ;-)
btw, andreas any plans for a tokyo/kyoto extension? if so, I could 
strike this from my todo list otherwise I would start after posix. 
(asking just to avoid double work)
Andreas
2-Jan-2013
[401x3]
Not at the moment, no.
LevelDB, if anything. But I don't expect to get to that any time 
soon.
After the current build streamlining work, I plan to look into better 
stdio and a more versatile "call" next.
BrianH
2-Jan-2013
[404]
Still should be an extension though, since not everyone is running 
R3 on a server. And definitely if it is limited to server platforms, 
or any platform limits.
TomBon
2-Jan-2013
[405]
yes, call is migthy when proper designed. using os.execute and io.popen 
all the times with lua. highly underestimated for it's capabillities 
but not easy to built.
Andreas
2-Jan-2013
[406]
yeah, is use that all the times as well :)
TomBon
2-Jan-2013
[407x2]
would be VERY valuable if you could make call better.
Brian, the posix extension is also to refresh my lost C skills (heck, 
I lost half of rebol in only 6 month I was buys with Lua) and I have 
no claim this extension need to run everywhere nor do I want to pollute 
the rebol way. it's just a component to fill some gaps for serverbased 
processing on linux machines.