patchAVR C Runtime Library - Patches: patch #3618, Optimization strtol(), a little.


You are not allowed to post comments on this tracker with your current authentication level.

patch #3618: Optimization strtol(), a little.

Submitted by:  None
Submitted on:  Thu 06 Jan 2005 07:14:05 AM UTC  
Category:  None Priority:  1 - Later
Status:  Done Privacy:  Public
Assigned to:  Joerg Wunsch <joerg_wunsch> Originator Email:  -email is unavailable-
Open/Closed:  Closed

Tue 25 Jan 2005 10:57:55 AM UTC, comment #3: 

All done, thanks Dmitry!

Joerg Wunsch <joerg_wunsch>
Project AdministratorIn charge of this item.
Wed 12 Jan 2005 11:12:22 PM UTC, comment #2: 

It is difficult to bring optimization to a stop.
strtol-20050112: extra size reducing and speed up.
And tests are moved from source to separate file: .

Fri 07 Jan 2005 06:33:54 AM UTC, comment #1: 

TODO about strings, like "0x" is fixed. Tests added. Code size now is 290 words (better), but advantage in stack usage -- only 30 bytes (on the same compiler conditions).

Thu 06 Jan 2005 07:14:05 AM UTC, original submission:  

It is possible to speed up strtol() by excluding division operation for most common bases (10,16,8 and, may be, 2). I have attempt do it.

In result the quantity of clocks for `strtol("12345",0,0)' has decreased with 1680 up to 720. Use of a stack has decreased on 32 bytes. The size of a code has remained practically same: 291 -> 294 words. (avr-gcc 3.3.4, atmega8, -Os -frename-registers).



Attached Files
file #8277:  strtoul-20050116.tar.gz added by joerg_wunsch (5KiB - application/gzip - Tarball submitted by Dmitry by way of the mailing list -- Joerg)
file #8246:  strtol-20050112.tar.gz added by None (5KiB - application/x-tgz - Tarball with patched source and test suite.)
file #8222:  strtol-20050107.c added by None (12KiB - text/x-csrc - TODO fixed, test expanded.)
file #8220:  strtol.c added by None (9KiB - text/x-csrc - strtol.c, optimized a little)


Depends on the following items: None found

Items that depend on this one: None found


CC list is empty


Do you think this task is very important?
If so, you can add your encouragement to it.
This task has 0 encouragements so far.

Only logged-in users can vote.




Follow 7 latest changes.

Date Changed by Updated Field Previous Value => Replaced by
2005-01-25 joerg_wunsch StatusNone => Done
    Open/ClosedOpen => Closed
2005-01-20 joerg_wunsch Assigned toNone => joerg_wunsch
2005-01-18 joerg_wunsch Attached File- => Added strtoul-20050116.tar.gz, #4060
2005-01-12 None Attached File- => Added strtol-20050112.tar.gz, #4029
2005-01-07 None Attached File- => Added strtol-20050107.c, #4003
2005-01-06 None Attached File- => Added strtol.c, #4001

Back to the top

Powered by Savane 3.5