开发者

In Rebol is it possible to clean up some global words from memory?

开发者 https://www.devze.com 2022-12-09 19:58 出处:网络
I know that the gl开发者_运维百科obal words is limited to something like 2500 words. What if I fear to reach the limit, I would like to create and destroy words on the fly with something like unset: w

I know that the gl开发者_运维百科obal words is limited to something like 2500 words. What if I fear to reach the limit, I would like to create and destroy words on the fly with something like unset: would that solve the risk or this is just impossible to have something scalable ?


The limit is on the number of uniquely named words. You can of course have many words of the same name in different contexts; that does not affect the overall count, eg....

context1: context [a: 1 b: 2 c: 3]
context2: context [a: "zzzz" b: "yyyy" c: "xxxx"]

....adds only five words to the total word list (context1, context2, a, b, c)

You can save the space taken by the value assigned to a word, using unset or none, eg:

unset 'context1
context2/a: none

But the name of the word itself is never removed from the global name list.

The good news is .....

The limit was as low as 2048 (plus or minus a few) in earlier versions of REBOL. It has grown in later versions. Recent R2 versions have a limit of 32,000 (ono). R3 is closer to 500,000 and may go higher once it goes into beta.

If you are running on an early version of REBOL and are hitting the unique names of words limit, you really have only two choices:

  • upgrade
  • rejiggle the words you are using so the same name is used in multiple contexts *
0

精彩评论

暂无评论...
验证码 换一张
取 消