Squeak Implementation Limits - a beginning....
Dwight Hughes
dwighth at ipa.net
Wed Feb 9 05:03:29 UTC 2000
Below are the Squeak implementation limits I have found or Dan has
posted, along with several larger scale limits I would love to see
filled in from actual testing rather than assumptions. I have used the
ANSI table format (more or less) for Squeak's limits. Note that I have
also included some limits for Dolphin Smalltalk and for VisualWorks 3.0.
Are there other meaningful limits that need to be added?
Comments and contributions welcome.
-- Dwight
---------------------------------------------------------------------
Squeak 2.7 Implementation Limits
---------------------------------------------------------------------
Parameter Upper bound
-------------------------- -----------
Length of identifiers unlimited
Length of binary selectors unlimited
Total length of keyword selectors unlimited
(including colons)
Number of named instance variables per object 254
(including inherited)
Number of class instance variables per class 254
(including inherited - 11 already used by
system, 243 available for use)
Number of class variables per class unlimited
Number of variables per pool unlimited
Number of literals per method 255
Number of methods per behavior unlimited
Number of arguments per method or block 15
Number of temporary variables per method or block 56
(actually named temps + hidden temps + args + stack
-- the practical maximum number of temps is ~54)
Bytes of code in a block 1,024
(bytes of compiled code - not source code)
Number of indexable elements in byte-type objects ___________
Number of indexable elements in word-type objects ___________
Object size in bytes ___________
Number of objects in image ___________
Image size in bytes ___________
Maximum .changes file size in bytes ___________
Maximum .sources file size in bytes ___________
Float precision 17
ScaledDecimal precision N/A
Maximum SmallInteger: 1,073,741,823
Minimum SmallInteger: -1,073,741,824
---------------------------------------------------------------------
Dolphin Smalltalk Limits (from Dolphin Wiki):
---------------------------------------------------------------------
Parameter Upper bound
-------------------------- -----------
Method Literals 65,536
Method Temporaries 255
Named Instance Variables 256
named + indexed Instance Variables 1,073,741,823
Number of Objects 8,388,608
(default limit imposed by max virtual
memory reserved for object table on
startup - can be changed from image)
Maximum SmallInteger 1,073,741,823
Minimum SmallInteger -1,073,741,824
---------------------------------------------------------------------
VisualWorks 3.0 Limits:
---------------------------------------------------------------------
Parameter Upper bound
-------------------------- -----------
named instance variables 256
method variables 255
(args + temps variables + temps for optimized loops + ...)
method literals 256
block nesting levels 256
block variables 255
(block args and temps + args and temps from outer scopes
which the block refers to)
method branches (jumps) 1023
(forward and backward)
Maximum SmallInteger 536,870,911
Minimum SmallInteger -536,870,912
---------------------------------------------------------------------
More information about the Squeak-dev
mailing list
|