World: r3wp
[View] discuss view related issues
older newer | first last |
shadwolf 8-May-2005 [994x3] | with nothing else done |
Type "desktop" to start desktop. WARNING: CALL function enabled in this version. To see most recent beta changes, type: changes? >> recycle >> stats/frames == [1536 1121 415 415 11396] | |
I don't know exactly what means those values | |
Ashley 8-May-2005 [997] | Knowing some simple memory management techniques that assist recycle is useful, such as: my-big-binary-image: none unset 'my-big-object feel: my-feel ; instead of make .. where common code can be shared ... |
Henrik 8-May-2005 [998] | hmm.. under linux the internal version stops when I start it up after initial messages. It doesn't display a prompt... |
Ashley 8-May-2005 [999] | >> help stats USAGE: STATS /pools /types /series /frames /recycle /evals /clear DESCRIPTION: System statistics. Default is to return total memory used. STATS is a native value. REFINEMENTS: /pools -- Returns: width units free-units units-per-alloc segments mem-in-use /types -- Returns: Datatype count /series -- Returns: total blocks strings other avail free expansions /frames -- Returns: total used unused free values-total /recycle -- Returns: count series-total series-last frames-total frames-last ballast /evals -- Returns: values functions blocks /clear -- Clears the evals counters |
shadwolf 8-May-2005 [1000] | Ashley I know this but that's not explain what means all the numbers in the recycle/frames result |
Ashley 8-May-2005 [1001] | That's one for Carl I think. |
Anton 8-May-2005 [1002] | I think a "frame" is an internal interpreter structure or object. |
shadwolf 8-May-2005 [1003] | but in fact the GC is problematic I would prefer a dealloc/realloc each time a ": " is found by the REBOL code parse engine ;) |
Anton 8-May-2005 [1004] | I think that would be very slow. |
shadwolf 8-May-2005 [1005] | instead of having frames not related to a rebol word and still allocated in memory until the GC decides to do he's job ;) |
Anton 8-May-2005 [1006] | But I also admit my opinion is probably useless until I've studied and tested various garbage collection schemes. |
shadwolf 8-May-2005 [1007] | Slow ? slower than what letting the memory as this for sure !!!! |
Anton 8-May-2005 [1008] | that's right - slower. |
shadwolf 8-May-2005 [1009] | but slower than making a recycle on every show function calls in Vid application like what was done in rebgui ?? I don't think so ;) |
Anton 8-May-2005 [1010] | you're trying to fight the system without coming up with a better one, that's all. |
shadwolf 8-May-2005 [1011x7] | What is the true basic problem ?? I have in rebol memory chunks unrelated with world on the diccionnary of rebol and this make the memory management just impossible because it dépends on too many things unrelated with coding ... |
Anton well we are limited basicly be C capabilities If recylcle know what to frames to erase it"s normal to ask why those frames are not cleared before using new ones ;) | |
that's logic nothing more ;) | |
Anton well we are limited basicly by C capabilities If recylcle know what to frames to erase it"s normal to ask why those frames are not cleared before using new ones ;) | |
hundreds of line C code are spent into the recycle function but only one line could be used free () :) | |
well i'm too simpling the thing ... | |
Rebol is not the only one to use GC but it's the only one to give coders so little control upon it ;) | |
Anton 8-May-2005 [1018x2] | C is definitely not Rebol. But consider this: a: b: context [data: "love me"] a: none Obviously the object should not be freed yet. The question is, should a full recycle occur (checking for unattached values) ? I think that would make setting words very slow and degrade performance terribly. |
(After all, just about every second word in rebol code is a set-word.) | |
shadwolf 8-May-2005 [1020] | Anton it depends if a; and b; store each the cloned content ;) |
Anton 8-May-2005 [1021] | No, the object is shared in this case. |
shadwolf 8-May-2005 [1022x4] | >> recycle >> stats == 2936994 >> a: make object! [print "I love rebol but not GC"] I love rebol but not GC >> stats == 2937746 >> |
and | |
>> recycle >> stats == 2936994 >> a: b: make object! [print "I love rebol but not GC"] I love rebol but not GC >> stats == 2937810 >> | |
as size are different into the 2 examples maybe the object is clonned ... | |
Anton 8-May-2005 [1026] | No, they are not cloned. I can assure you of that. |
shadwolf 8-May-2005 [1027] | you have it twice in memory but in fact no because if you make a: b: make object! [ test: 'test"] |
Anton 8-May-2005 [1028] | And you should recycle and check stats multiple times before and after each test. |
shadwolf 8-May-2005 [1029x2] | then a/test: "test200" print b/test |
this shows the content to the shared object change ;) | |
Anton 8-May-2005 [1031] | sometimes the returned stats value is not stable. |
shadwolf 8-May-2005 [1032] | Anton both code are witen into 2 separated consol |
Anton 8-May-2005 [1033] | But we are polluting, I go to Performance group to continue this discussion... |
shadwolf 8-May-2005 [1034x3] | if you make a: make object you use less memory than a: b: make object! that's a fact ;) |
in rebol there is an allocation table that will allow us to know if a data is share betwin several word in the rebol diccionary | |
and obviously you will clear only single related data | |
Henrik 8-May-2005 [1037] | where in the heck is that damn prompt... |
shadwolf 8-May-2005 [1038] | henrik don't know I don't have tested it under linux ... |
Henrik 8-May-2005 [1039] | happens in core too now... no problems with an older rebol/view |
Anton 8-May-2005 [1040] | Doing any startup scripts ? Check your user.r |
Henrik 8-May-2005 [1041] | no such file. created an empty user.r and now it won't start at all |
shadwolf 8-May-2005 [1042] | you're trying to fight the system without coming up with a better one, that's all. OH OH Comon we are talking about a serrious issue and that's not because I make a criticise of the system that I have a better solution .... |
Anton 8-May-2005 [1043] | Did you install the binary into the same directory as your other Views ? |
older newer | first last |