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

World: r3wp

[Core] Discuss core issues

eFishAnt
25-Apr-2006
[4041x2]
I was going to ask what is a good hex editor to download into ubunto...but 
then I figured out I should just use a REBOL hex editor...if I need 
to to change I can just change it myself.
BTW, your virtual face demo rocks, Anton.  I contorted the face so 
hard, it nearly cracked my CRT!   ;-)
Anton
25-Apr-2006
[4043]
Thanks. :) I had to contort my forehead for a few days to get that 
to work.
eFishAnt
25-Apr-2006
[4044]
That could cause wrinkles.  Hmmn, I searched the library and don't 
see the hex editors...trying to remember where they came from.  I 
think at least one was pretty decent.
Pekr
25-Apr-2006
[4045x2]
eFish - wasn't it in terms of competition? Try ViewTop then, and 
rebol.com competition section ...
http://www.tgd-consulting.de/Download.html
eFishAnt
25-Apr-2006
[4047]
thanks, Pekr
Maxim
25-Apr-2006
[4048x2]
Am I the only one who thinks that 64bytes for an empty block is a 
lot or ram?
doing stress testing, of liquid and inderctly REBOL, I have measured 
that allocating 1million blocks takes up exactly 64MB of ram and 
each block I add to the context adds exactly 64MB.
eFishAnt
25-Apr-2006
[4050]
each block adds exactly 64 bytes...do you mean?
Maxim
25-Apr-2006
[4051]
yes.
eFishAnt
25-Apr-2006
[4052]
seems like an empty block should only take 2 bytes...but then that 
is just the ASCII representation...binaries are bigger than their 
source code...I would expect some list links pointing, some datatype 
info...dunno.  Maybe try a small program like REBOL[] probe empty: 
[] and inspect the RAM of it.
Maxim
25-Apr-2006
[4053]
hehe, your the embeded hw expert  ;-)  probing RAM directly.. man 
haven't done that since I've used amiga!
eFishAnt
25-Apr-2006
[4054]
would be a good extension of a hex-editor...to just load a memory 
address and peek around and look at things...have REBOL inspect itself.
Pekr
25-Apr-2006
[4055x2]
.... and hackers hack in :-)
if I understand it correctly, we should get it with debug hooks ... 
powerfull debugger would help ...
eFishAnt
25-Apr-2006
[4057]
I don't have a Lauterbach debugger for x86 ... only for ARM, PPC, 
XSCALE, and some other MCUs...or that WOULD be cool.
Maxim
25-Apr-2006
[4058x2]
I am starting to understand the challenges "big" app developpers 
encounter when trying to solve complex data models.
I think I will have to design a cluster engine for liquid quite rapidly 
for some of my projects.
eFishAnt
25-Apr-2006
[4060]
for very structured data, when space is a premium, and if it is packed 
tight, you could always do it through a dynamic linked library.
Maxim
25-Apr-2006
[4061x2]
yeah, I intend to recode code liquid as a c module eventually, and 
probably use that natively in python and make a dll for it in rebol.
but waiting R3 for that... I'd like to allow liquids to be datatypes.
eFishAnt
25-Apr-2006
[4063]
...but how much does the size increase when you populate the empty 
blocks with data?
Maxim
25-Apr-2006
[4064x3]
the size of that data linearly.
thus integers add 2bytes per ints, etc.
maybe a little bit more for linkeage data.
eFishAnt
25-Apr-2006
[4067]
(also, you might find ways to structure your data in REBOL which 
reduce the number of block...like make them into structured objects 
... just a wild guess, maybe that would compact it more?)
Maxim
25-Apr-2006
[4068x3]
objects take way more... hehe have you ever even tried to allocate 
1 million objects which have 40 methods.  REBOL won't even be able 
to allocate 20 thousand of them.
I had to use shared methods (like face/feel)
and can still allocate 20000 nodes a second on my trusty 1.5GHz laptop.
eFishAnt
25-Apr-2006
[4071]
does an array help?
Maxim
25-Apr-2006
[4072x2]
do you mean the array function?
cause it allocates blocks ;-)
eFishAnt
25-Apr-2006
[4074]
seems like some improvements could be made by storing more things 
in each block.
Maxim
25-Apr-2006
[4075]
each node is an atom.
eFishAnt
25-Apr-2006
[4076]
but it seems it would be a speed - size tradeoff.
Maxim
25-Apr-2006
[4077x3]
and needs its own block to determine its dependencies.
note that I am allocating 1 million objects... we are talking enterprise 
solutions here.
with more ram I can go to 10 million... that's without data...
eFishAnt
25-Apr-2006
[4080]
the fallacy of db-centric programming ... is having data centrialized, 
rather than distributed.  If you split it apart into separate messaging 
agents, then you might be able to reduce the bottlenecks created 
by having the data cetralized.
Maxim
25-Apr-2006
[4081x5]
with bedrock, each cell, is its own individual atom. there are no 
tables.
each cell is a store of associations this cell has with other things 
in the db.  being bi-directional nodes, I can create sets or groups 
of nodes and nodes can backtrack them to query related informations.
so in theory, when I add offloading of nodes (to disk or remote computers) 
within liquid, we'll be able to scale the db infinitely.
well, limited by 64 bits of addressing at a time.
(thats if R3 has a 64bit mode)
eFishAnt
25-Apr-2006
[4086x2]
bits or bytes?
oh, is that what you are worried about?  I thought you were saying 
an empty block takes 64 bytes.
Maxim
25-Apr-2006
[4088x3]
two different issues.
64 bit wide addressing/block lengths, etc, would allow liquid to 
scale more easily to petabyte sized management
where you have n number  of distributed/remote machines storing infinitely 
large amounts of tidbits of data, de centralised.