ARRAY TOTAL SIZE LIMIT - lisp-cookbook-ja/common-lisp GitHub Wiki
array-total-size-limitใฏ้ ๅใซๅ ฅใใใใจใใงใใ่ฆ็ด ใฎๆๅคงๆฐใใ1ๅคงใใๆฐใงใใใในใฆใฎ้ ๅใซๅ ฑ้ใใๅถ้ใงใๅคๆดใฏใงใใพใใใๅ ทไฝ็ใชๅคใฏๅฆ็็ณปใซใใฃใฆ็ฐใชใใพใใใๅฐใชใใจใ1024ใใๅคงใใๆฐใซใใใใใซๆฑบใใใใฆใใพใใ
ใใพใ้ขใใใใชใใจๆใใใกใงใใใ(unsigned-byte 8)ใฎ้ ๅใซๅคงใใใฎใใผใฟใ่ชญใฟ่พผใใ ใใ้ทใๆๅญๅใไฝใฃใใใใใจ๏ผๆๅญๅใฏๆๅญใฎ้ ๅใชใฎใง๏ผใไธปใซ32ใใใใฎ็ฐๅขใงใใใฎๅถ้ใซใใใๅ ดๅใใใใพใใ
ใใฉใใใใฉใผใ | ใชใใใ |
---|---|
CLISP 2.49 32-bit | 2^24 - 1 = 16777215 |
CLISP 2.49 64-bit | 2^32 - 1 = 4294967295 |
Clozure CL 1.7 64-bit | 2^56 = 72057594037927936 |
Clozure CL 1.7 32-bit | 2^24 = 16777216 |
LispWorks 6.0.1 32-bit | 67108337 (โ 2^26) |
LispWorks 7.1 64-bit | 2^29 - 1 = 536870911 |
Steel Bank Common Lisp 1.0.53 64-bit | 4611686018427387901 (โ 2^62) |
Allegro CL 32-bit | 2^29 - 1 = 536870911 |
Allegro CL 64-bit | 2^60 - 1 = 1152921504606846975 |
XCL 64-bit | 2^61 - 1 = 2305843009213693951 |
CMUCL 20c 32-bit | 2^29 - 1 = 536870911 |
ABCL 1.0.0 | 2^31 - 1 = 2147483647 |
Scieneer CL 1.3.9 64-bit | 2^60 - 1 = 1152921504606846975 |
GCL 2.6.7 CLtL1 64-bit | 2^31 - 1 = 2147483647 |
Clozure CL
64ใใใใฎ็ฐๅขใง2^56๏ผ72057594037927936๏ผใ32ใใใใฎ็ฐๅขใง2^24๏ผ16777216๏ผใซ่จญๅฎใใใฆใใพใใ
17.2. Register usage and taggingใฎ"17.2.4. Tagging scheme"ใง่ฉณใใ่ชฌๆใใใฆใใพใใใๅณๅค๏ผ็ฐๅขใใจใซไฝใๅณๅคใใฏ็ฐใชใใพใ๏ผใจใณใณในใปใซไปฅๅคใฎLispใชใใธใงใฏใใฏใClozure CLใงใฏuvectorใจใใใใผใฟๆง้ ใง่กจ็พใใใฆใใพใใ
uvectorใงใฏใใใผใฟๆง้ ใฎๆๅใฎ1$$wp ใฏใผใใซๅ ๅฎนใฎๅใ่กจใๆ ๅ ฑ๏ผ8ใใใ๏ผใจ่ฆ็ด ใฎๆฐ๏ผ1ใฏใผใ - 8ใใใ๏ผใๅ ฅใใใใซๆฑบใพใฃใฆใใพใใใใใฆใ้ ๅใฏๅณๅคใงใใณใณในใปใซใงใใใใพใใใใใuvectorใจใใฆๆฑใใใพใใใใฎใใใ้ ๅใฎ่ฆ็ด ใฎๆฐใ1ใฏใผใ - 8ใใใใฎ้ ๅใซ่จ้ฒใใใใใจใซใชใใ64ใใใใฎ็ฐๅขใงใฏ56ใใใ๏ผ0๏ฝ2^56 - 1๏ผใ32ใใใใฎ็ฐๅขใงใฏ24ใใใ๏ผ0๏ฝ2^24 - 1๏ผใฎ็ฏๅฒใซ่ฆ็ด ใฎๆฐใๅถ้ใใใพใใ
โ 32ใใใ็ฐๅขใงใฎuvectorใฎๆง้
0 1 2 3 4 5 6 7 8 9 10 ... 28 29 30 31 32 33 34 35 36 ...
โโโโโโโโโโโโโณโโโโโโโโโโโโโณโโโโโโโโ
โ ๅๆ
ๅ ฑ โ ่ฆ็ด ใฎๆฐ โ ๅฎ้ใฎใใผใฟ
โโโโโโโโโโโโโปโโโโโโโโโโโโโปโโโโโโโโ