SASADA Koichi <ko1 / atdot.net> wrote:
> Cool. Could you commit it?

Done, r47453.

I think the xcalloc was overreaching, though.

Removing redundant zero from env_alloc + rb_proc_alloc has a measurable
effect:

http://80x24.org/misc/m/1410209049-23179-1-git-send-email-e%4080x24.org.txt

Makes code a little more fragile, though, so we must be careful about
GC...

clear	108.073316744
clear	105.554970603
clear	105.501751921
nozero	99.350965249
nozero	96.923739953
nozero	100.743984655

-----------------------------------------------------------
raw data:

[["app_lc_fizzbuzz",
  [[108.073316744, 105.554970603, 105.501751921],
   [99.350965249, 96.923739953, 100.743984655]]]]

Elapsed time: 616.150981421 (sec)
-----------------------------------------------------------
benchmark results:
minimum results in each 3 measurements.
Execution time (sec)
name	clear	nozero
app_lc_fizzbuzz	105.502	96.924

Speedup ratio: compare with the result of `clear' (greater is better)
name	nozero
app_lc_fizzbuzz	1.089