[libnr] some optimizations
Oleg Verych <[email protected]> Mon, 6 Jun 2005 11:23:02 +0200
| Newsgroups | gmane.comp.graphics.sodipodi |
|---|---|
| Message-ID | <[email protected]> |
------=_Part_3267_5354495.1118049782731
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
-- Description --
Patch against sodipodi 0.34 in Debian GNU+Linux.
Optimized local varables, reduced stack usage of recurcive
calls, (IMHO) better perfomance. Got ride of "gotos", see
<http://www.acm.org/classics/oct95/>
Size of object files is the same:
olecom@czluon:libnr$ size *goto
text data bss dec hex filename
13622 20 0 13642 354a nr-path.o-goto
16750 20 8 16778 418a nr-pathops.o-goto
8644 0 0 8644 21c4 nr-stroke.o-goto
olecom@czluon:libnr$ size nr-path.o nr-pathops.o nr-stroke.o
text data bss dec hex filename
13638 20 0 13658 355a nr-path.o
16766 20 8 16794 419a nr-pathops.o
8612 0 0 8612 21a4 nr-stroke.o
olecom@czluon:libnr$ echo goto: $((13642+16778+8644))
goto: 39064
olecom@czluon:libnr$ echo not : $((13658+16794+8612))
not : 39064
olecom@czluon:libnr$
Lauris Kaplinski, that was code based on libart (with that gotos ;)
Comments are welcome.
------=_Part_3267_5354495.1118049782731
Content-Type: application/x-gzip; name="libnr-optimiz_v1.diff.gz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="libnr-optimiz_v1.diff.gz"
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
------=_Part_3267_5354495.1118049782731--
-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput
a projector? How fast can you ride your desk chair down the office luge track?
If you want to score the big prize, get to know the little guy.
Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20