# Counts the number of allocations of Concat
var concat_allocations = 0
- # Counts the number of allocations of RopeBuffer
- var ropebuf_allocations = 0
-
# Counts the number of calls to property length
var length_calls = new Counter[String]
var index_len = new Counter[Int]
# Length (bytes) of the FlatString created by lib
- var str_bytelen = new Counter[Int]
+ var str_byte_length = new Counter[Int]
- # Counter of the times `bytelen` is called on FlatString
- var bytelen_call = new Counter[String]
+ # Counter of the times `byte_length` is called on FlatString
+ var byte_length_call = new Counter[String]
# Counter of the times `bytepos` is called on each type of receiver
var position_call = new Counter[String]
print "\t-ASCIIFlatString = {asciiflatstr_allocations}"
print "\t-FlatBuffer = {flatbuf_allocations}"
print "\t-Concat = {concat_allocations}"
- print "\t-RopeBuffer = {ropebuf_allocations}"
print ""
print "Calls to length, by type:"
for k, v in length_calls do
printn "\n"
end
- print "Calls to bytelen for each type:"
- for k, v in bytelen_call do
+ print "Calls to byte_length for each type:"
+ for k, v in byte_length_call do
print "\t{k} = {v}"
end
index_len.print_content
print "Byte length of the FlatStrings created:"
- str_bytelen.print_content
+ str_byte_length.print_content
end
redef fun run do
sys.concat_allocations += 1
end
- redef fun bytelen do
- sys.bytelen_call.inc "Concat"
+ redef fun byte_length do
+ sys.byte_length_call.inc "Concat"
return super
end
end
end
-redef class RopeBuffer
- init do
- sys.ropebuf_allocations += 1
- end
-
- redef fun bytelen do
- sys.bytelen_call.inc "RopeBuffer"
- return super
- end
-
- redef fun [](i) do
- sys.index_call.inc "RopeBuffer"
- return super
- end
-end
-
redef class FlatBuffer
init do
super
end
- redef fun bytelen do
- sys.bytelen_call.inc "FlatBuffer"
+ redef fun byte_length do
+ sys.byte_length_call.inc "FlatBuffer"
return super
end
super
end
- redef fun bytelen do
- sys.bytelen_call.inc "FlatString"
+ redef fun byte_length do
+ sys.byte_length_call.inc "FlatString"
return super
end
var l = length_cache
if l != null then return l
sys.length_cache_miss.inc "FlatString"
- if bytelen == 0 then return 0
+ if byte_length == 0 then return 0
var st = first_byte
var its = items
var ln = 0
end
redef class ASCIIFlatString
- redef init full_data(items, bytelen, from, length)
+ redef init full_data(items, byte_length, from, length)
do
super
sys.asciiflatstr_allocations += 1
end
redef class UnicodeFlatString
- redef init full_data(items, bytelen, from, length)
+ redef init full_data(items, byte_length, from, length)
do
super
sys.uniflatstr_allocations += 1