flat assembler
Message board for the users of flat assembler.
![]() Goto page Previous 1, 2 |
Author |
|
HaHaAnonymous 13 Feb 2013, 23:43
[ Post removed by author. ]
Last edited by HaHaAnonymous on 28 Feb 2015, 21:30; edited 1 time in total |
|||
![]() |
|
randall 12 Mar 2013, 11:20
Very nice project:
Lightweight performance tools for Linux http://code.google.com/p/likwid/ http://code.google.com/p/likwid/wiki/Introduction likwid-perfctr : A tool to measure hardware performance counters on recent Intel and AMD processors. It can be used as wrapper application without modifying the profiled code or with a marker API to measure only parts of the code. |
|||
![]() |
|
prino 15 Mar 2013, 19:13
Program optimization, with
Donald Knuth wrote: "We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil" A little example: The old IBM OS PL/I compiler on z/OS has an option to count how many times each statement is executed. I still have a version of one of my programs, and the total statement count comes to 1,257,761,317, with one single procedure accounting for 1,238,974,804 of those executed statements (98.50%) The current version of the program, which has rather a lot more functionality, has a rather nicer executed number of statements count of 14,778,811 (a reduction of 98.82%), and the nasty procedure, using a completely different algorithm executes just 110,204 statements (a reduction of more than 99.99%) Obviously, this being a compiler and not an assembler, some statements result in calling library routines, but it makes patently clear that selecting the right algorithm has far more influence than anything else! As for the Code: cmp [wmsg],WM_CREATE je wmcreate cmp [wmsg],WM_COPYDATA je wmcopydata cmp [wmsg],WM_GETMINMAXINFO je wmgetminmaxinfo cmp [wmsg],WM_SIZE je wmsize cmp [wmsg],WM_SETFOCUS je wmsetfocus cmp [wmsg],FM_NEW je fmnew cmp [wmsg],FM_OPEN je fmopen cmp [wmsg],FM_SAVE je fmsave cmp [wmsg],FM_COMPILE je fmcompile cmp [wmsg],FM_SELECT je fmselect cmp [wmsg],FM_ASSIGN je fmassign cmp [wmsg],FM_GETSELECTED je fmgetselected cmp [wmsg],FM_GETASSIGNED je fmgetassigned cmp [wmsg],FM_GETHANDLE je fmgethandle cmp [wmsg],WM_INITMENU je wminitmenu cmp [wmsg],WM_COMMAND je wmcommand cmp [wmsg],WM_NOTIFY je wmnotify cmp [wmsg],WM_DROPFILES je wmdropfiles cmp [wmsg],WM_CLOSE je wmclose cmp [wmsg],WM_DESTROY je wmdestroy earlier in this thread, WM_CLOSE and WM_DESTROY were apparently put at the bottom, but did anyone actually bother to temporarily add counts to all other compares and order them in an descending order? For example, I would expect that an IDE would use FM_COMPILE rather a lot more than FM_NEW... _________________ Robert AH Prins robert dot ah dot prins at the big account from Google ![]() |
|||
![]() |
|
Goto page Previous 1, 2 < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2023, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.
Website powered by rwasa.