-redef class FlatString
- redef fun +(o) do
- var mlen = length
- var slen = o.length
- var nlen = mlen + slen
- var ns = new NativeString(nlen + 1)
- items.copy_to(ns, mlen, index_from, 0)
- if o isa FlatString then
- o.items.copy_to(ns, slen, o.index_from, 0)
- else
- var pos = mlen
- for i in o.chars do
- ns[pos] = i
- pos += 1
- end
- end
- return ns.to_s_with_length(nlen)
- end
-end
-
-fun bench_flatstr(str_size: Int, nb_ccts: Int, loops: Int)