r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[!REBOL3]

BrianH
20-Jun-2010
[3467]
Anton, there would be no memory savings by using 48x48 integers. 
The pair would still be in a value slot, and value slots are fixed 
size. And they would be slower to access because of alignment issues, 
plus the floating point multiply to convert them to the doubles used 
internally in AGG. "So it looks like 128bits are available." - only 
on 64bit builds of R3, not on the 32bit builds we have now.
Ladislav
20-Jun-2010
[3468x2]
Test results (Brian is right, that 96-bit pairs cannot save any space 
compared to pairs of floats - actually just 64-bit pairs):


1 conversion of the X coordinate to double when using 96-bit pairs: 
ca 50 ns

1 conversion of the X coordinate to double when using pairs of floats: 
ca 10 ns
Of course, other operations, like conversion to integer, e.g., are 
needed sometimes, and for those, the situation would be the other 
way around
Anton
21-Jun-2010
[3470x3]
Oh, ok, so R3 is still mainly being built 32-bit.
Ladislav, no example that shows an advantage springs to mind.

Could you also measure conversion to int for 96-bit pairs and pairs 
of floats?
Pairs of floats look more advantageous to me now.
Maxim
21-Jun-2010
[3473x2]
I agree on the pairs of floats... much better programatically, especially 
since the pairs will be used for things other than simple "pixel" 
coordinates.
it would also be VERY nice to be able to do tripplets or quads.
Ladislav
21-Jun-2010
[3475x2]
hmm, actually, triplets of floats may be possible
(96 bits)
Maxim
21-Jun-2010
[3477]
one thing I wonder is that when 64 bit builds do get released, are 
we sacrificing the future by tuning the present, using only floats 
now?
BrianH
21-Jun-2010
[3478]
We can upgrade to doubles in the future, in the 64bit builds - AGG 
uses them already. Though I don't know the effects that would have 
on rounding and such.
Maxim
21-Jun-2010
[3479]
exactly, I wouldn't want a 64 bit build to perform different maths 
on values.  it should just be faster for bigger numbers.


if we go with floats, I feel that we'll be forced to keep them even 
in 64 bit builds.


also, generally, all graphics libs and most math related libs now 
use doubles.  so if we need to convert the floats from rebol everytime 
we use the value within an extension its going to incur some speed 
hits no?
BrianH
21-Jun-2010
[3480x2]
An extension like AGG, which also uses doubles. But we can't fit 
two doubles in a value slot on a 32bit build, sorry.
And if we don't fit a pari into a value slot, it changes its whole 
behavior.
Maxim
21-Jun-2010
[3482x2]
yeah, I see the problem.
they could be stored like vectors internally, but would that make 
them MUCH slower?
BrianH
21-Jun-2010
[3484]
Yes, due to at least one added pointer indirection, and added code 
to prevent aliasing (in the pointer sense, not the graphics sense). 
And they could be modifiable, unless we are careful, and that brings 
in another whole host of issues.
Maxim
21-Jun-2010
[3485]
well, I guess they could just be stored as a two double struct, but 
then we still get the added indirection everytime they are used.
Pekr
24-Jun-2010
[3486]
Development roadmap. There's also Carl's blog about it. I just wonder, 
if it differs from the priority page that much?

http://www.rebol.com/roadmap.html
http://www.rebol.com/priorities.html
shadwolf
27-Jun-2010
[3487x2]
AT LEAST THE ROADMAP  !!!  i'm about to cry ...
no in fact I don't havec feelings but if i had some feelings i would 
cry ... eventually...
Graham
27-Jun-2010
[3489x2]
Thinking that the java jdbc bridge I was working on in "Other languages" 
might be used for R3 database access until we have ODBC support
I guess I need to serialize the data on the java side so that it 
looks like Rebol values .. a la 'mold
shadwolf
27-Jun-2010
[3491]
doing a java bridge to access a database ? hum really ? but what 
would be the gain ? instead of having it in direct access i thought 
rebol had odbc acces through odbc://
Graham
27-Jun-2010
[3492]
This is R3 group
Henrik
28-Jun-2010
[3493]
A bit of host kit news:


--- Win32 window and event code now compiles and links successfully 
within the host-kit.
 - Carl.
Maxim
28-Jun-2010
[3494]
YEAH baby
BrianH
28-Jun-2010
[3495]
Database work is only waiting for a community discussion of the semantic/dialect 
model, afaik. Something to integrate with the new port model, not 
the old one.
Graham
28-Jun-2010
[3496x2]
j: open jdbc://localhost:8000
insert j {select first 2 * from staff}
r: copy j
>> length? r
== 2

My jdbc protocol working
Any reason why we can't use R2's semantics?
BrianH
28-Jun-2010
[3498]
Yes: The port model is different. For one thing, you don't insert 
to and copy from ports.
Graham
28-Jun-2010
[3499]
So just rename the actors
BrianH
28-Jun-2010
[3500]
And async needs to be considered as well.
Graham
28-Jun-2010
[3501]
My jdbc protocol is async
BrianH
28-Jun-2010
[3502]
With a handler, like in R3?
Graham
28-Jun-2010
[3503x3]
All protocols are async unless you do special trickery to try and 
make them look sync
My jdbc protocol is a R3 protocol ... this is the R3 group!
scheme I meant
BrianH
28-Jun-2010
[3506]
Cool. So set up a discussion for the database semantic/dialect model. 
I think one of those DocBase wiki discussions would work for this, 
with chat in the DB Chat group here.
Graham
28-Jun-2010
[3507]
Just going to copy r2
BrianH
28-Jun-2010
[3508]
The R2 model wasn't very good, in my experience, so a refined model 
that can also be adapted to NoSQL databases would help here.
Graham
28-Jun-2010
[3509x2]
ha!  I'm not an architect!
This is just something to get me up and running on R3 with databases
BrianH
28-Jun-2010
[3511]
That's nice then :)
Graham
28-Jun-2010
[3512x3]
I don't understand why in the actor block, we can do this:

		close: func [
			port [port!]
		] [
			if open? port [
				close port/state/connection
				port/state/connection/awake: none
				port/state: none
			]
			port
		]


In the r2 schemes we had to specify the system word 'close, but in 
r3, we don't ... so what stops the stack overflow here?
apart from the fact that it stops the 'if by closing the port ...
If the remote client closes the port, can one just re-open the port 
to make another connection?
Henrik
29-Jun-2010
[3515]
First window opened!  Animates with thousands of alpha colored gob 
blits..
 - Carl on Hostkit work.
Maxim
29-Jun-2010
[3516]
good news  :-)