..based on it, c pros, you can prolly see clearly whats wrong it like mmaps more and more memory beeing slower every run
) = 3 write(2, "++ [[ -v addkw[++addkw_i] ]]\n", 29++ [[ -v addkw[++addkw_i] ]] ) = 29 write(2, "++ dat[$nspace${SUBSEP}kw$SUBSEP"..., 53++ dat[$nspace${SUBSEP}kw$SUBSEP${addkw[addkw_i]}]=1 ) = 53 write(2, "++ [[ -v addkw[++addkw_i] ]]\n", 29++ [[ -v addkw[++addkw_i] ]] ) = 29 write(2, "++ [[ -v addkwf[++addkwf_i] ]]\n", 31++ [[ -v addkwf[++addkwf_i] ]] ) = 31 write(2, "+ kws=(metest)\n", 15+ kws=(metest) ) = 15 write(2, "+ kws_i=-1\n", 11+ kws_i=-1 ) = 11 brk(0x5626989a4000) = 0x5626989a4000 brk(0x5626989a5000) = 0x5626989a5000 brk(0x5626989a7000) = 0x5626989a7000 brk(0x5626989ab000) = 0x5626989ab000 brk(0x5626989b3000) = 0x5626989b3000 brk(0x5626989c3000) = 0x5626989c3000 brk(0x5626989e3000) = 0x5626989e3000 mmap(NULL, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f364fedf000 brk(0x5626989c3000) = 0x5626989c3000 mmap(NULL, 524288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f364fe5f000 munmap(0x7f364fedf000, 262144) = 0 mmap(NULL, 1048576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f364fd5f000 munmap(0x7f364fe5f000, 524288) = 0 mmap(NULL, 2097152, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f364fb5f000 munmap(0x7f364fd5f000, 1048576) = 0 mmap(NULL, 4194304, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f364f75f000 munmap(0x7f364fb5f000, 2097152) = 0 mmap(NULL, 8388608, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f364ef5f000 munmap(0x7f364f75f000, 4194304) = 0 mmap(NULL, 16777216, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f364df5f000 munmap(0x7f364ef5f000, 8388608) = 0 mmap(NULL, 33554432, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f364bf5f000 munmap(0x7f364df5f000, 16777216) = 0 mmap(NULL, 67108864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3647f5f000 munmap(0x7f364bf5f000, 33554432) = 0 mmap(NULL, 134217728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f363ff5f000 munmap(0x7f3647f5f000, 67108864) = 0 mmap(NULL, 268435456, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f362ff5f000 munmap(0x7f363ff5f000, 134217728) = 0 mmap(NULL, 536870912, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f360ff5f000 munmap(0x7f362ff5f000, 268435456) = 0 ^C--- SIGINT {si_signo=SIGINT, si_code=SI_KERNEL} --- strace: Process 10181 detached