World: r3wp
[!REBOL3-OLD1]
older newer | first last |
Steeve 21-Jan-2009 [9764] | Right Brian, but more the client grows more it will need time to rewrite it. The hard work doesn't come from the replacement of blocks with virtual blocks (it's minor). The problem comes from useless needs to reload and sort blocks in memory after each connection. Outside the big respect i have for Carl, it's a poor conception, sorry. |
[unknown: 5] 21-Jan-2009 [9765] | So virtual blocks is a storage of blocks in a blocks that is then loaded into memory? |
Steeve 21-Jan-2009 [9766] | Henrik, yes a virtual block act like a block, you can use most natives which handle blocks as is. The gain is that there is no block bloating the memory, all actions are converted to file actions. So you can work with blocks containg millions of data with no pain and overhead. |
[unknown: 5] 21-Jan-2009 [9767x2] | Trying to follow so bare with me... |
Your storing data in blocks into a file that is one large container block? | |
Steeve 21-Jan-2009 [9769] | the virtual block acts like block. you can store any type of values in it (which are blocks or not) |
[unknown: 5] 21-Jan-2009 [9770] | So is a virtual block in essence a file? |
Steeve 21-Jan-2009 [9771] | yes |
[unknown: 5] 21-Jan-2009 [9772] | Is the whole file loaded into memory at once or is data read from it in chunks? |
Steeve 21-Jan-2009 [9773] | chuncks, i said no memory overhead, if not there is no interests to develop such scheme |
Henrik 21-Jan-2009 [9774] | so we can basically manage gigabyte sized blocks? |
[unknown: 5] 21-Jan-2009 [9775x2] | Yes, good. |
So does it maintain the index order of the individual blocks within it? | |
Steeve 21-Jan-2009 [9777x2] | yes Henrik, we can |
yes Paul it uses 2 files: an index and the data | |
[unknown: 5] 21-Jan-2009 [9779] | Oh, I see. |
Henrik 21-Jan-2009 [9780] | Steeve, I could use that. :-) |
[unknown: 5] 21-Jan-2009 [9781] | This is a bit like Tretbase. |
Henrik 21-Jan-2009 [9782] | so the data is a plain binary? |
[unknown: 5] 21-Jan-2009 [9783] | Tretbase uses data and a index. |
Steeve 21-Jan-2009 [9784] | yes Paul like your tretbase conception, the only difference is that it's a scheme and there is no new functions to deal with. The programmer can continue to think is working with a block. |
Mchean 21-Jan-2009 [9785] | does rebdev work with chat from r3? |
[unknown: 5] 21-Jan-2009 [9786] | Cool Steeve. |
Henrik 21-Jan-2009 [9787] | Mchean, rebdev is chat. Same thing. |
[unknown: 5] 21-Jan-2009 [9788] | How is the performance Steeve? |
Steeve 21-Jan-2009 [9789] | No Henrik, the data are stored like rebol values (not in binary or other obfuscated format). It means that you can load the data files (with load %data) and you will load that whole block into memory. |
Pavel 21-Jan-2009 [9790] | Steeve&Paul where to read about I missed the point |
[unknown: 5] 21-Jan-2009 [9791] | About what part Pavel? |
Henrik 21-Jan-2009 [9792] | Steeve, could the file be compressed or is that too much overhead or unfit for the scheme? |
Pavel 21-Jan-2009 [9793] | virtual block scheme |
[unknown: 5] 21-Jan-2009 [9794x2] | That is Steeve's design. |
Mine is a bit different. | |
Mchean 21-Jan-2009 [9796] | Henrik when i enter chat in R3 console i get Script error: chat has no value |
Pavel 21-Jan-2009 [9797] | is it available? |
Steeve 21-Jan-2009 [9798] | Paul, i can't test the perfs currently, because there is some remaining bugs in the file scheme, so that i have to open close the ports each time a value is append in the block. |
[unknown: 5] 21-Jan-2009 [9799] | Virutual block scheme? - I think it is going to be in R3. |
Pavel 21-Jan-2009 [9800] | OK |
[unknown: 5] 21-Jan-2009 [9801x4] | Yes, I konw how that is. |
In Tretbase, I decide to incorporate a second method that uses just the data file and reads blocks from it. | |
It required that I had to create a block parser. | |
So it is essential like read/lines but instead it reads blocks. | |
Henrik 21-Jan-2009 [9805x2] | mchean, it's only available in the latest alpha. |
>> source chat chat: make function! [[ "Open REBOL DevBase forum/BBS." /local err ][ print "Fetching chat..." if error? err: try [do http://www.rebol.com/r3/chat.rnone] [ either err/id = 'protocol [print "Cannot load chat from web."] [do err] ] exit ]] | |
Steeve 21-Jan-2009 [9807] | Henrik, there is no need to automaticly compress the data. If you want so, just append compressed data in the block. >> append v-block compress data |
Henrik 21-Jan-2009 [9808] | Steeve, that takes up double size on disk, doesn't it? |
Steeve 21-Jan-2009 [9809] | don't see your point Henrik, double size compared with what ? |
Henrik 21-Jan-2009 [9810] | compared to an actual binary. you said, that data was stored as plain REBOL data in the file. |
Steeve 21-Jan-2009 [9811] | but if you want to store binary data, just add binary data, i do not any conversion, store your data int he format you want |
Mchean 21-Jan-2009 [9812] | thanks |
Steeve 21-Jan-2009 [9813] | hum, i see your point now henrik, yes even binary data are stored as rebol values, so that there take much more space. |
older newer | first last |