Why big buffers for floating doprints?
schroder at papaya.bbn.com
schroder at papaya.bbn.com
Sat Mar 17 06:32:00 AEST 1990
We frequently use multitasking, with modest stacks allocated from the
heap. We recently discovered that "sprintf()" in Sun release 4.x was
overrunning the stack -- using **over 20k of stack** to convert little
numbers like 0.334 and so forth.
A little research with adb uncovered:
binary_to_decimal_integer: linkw a6,#-0x308c // 12,428 bytes
binary_to_decimal_fraction: linkw a6,#-0x3080 // 12,416 bytes
unpacked_to_decimal: linkw a6,#-0x15b0 // 5,552 bytes
Does anyone out there know why it takes over 12K to convert a floating
point number? Release 3.5 convert a float in under 900 bytes. :-)
Regards,
Ken
More information about the Comp.sys.sun
mailing list