About | Buy Stuff | News | Products | Rants | Search | Security
Home » Resources » Software » Reviews » Rainmaker is Rich

Rainmaker is Rich III:

The Bloat Report

The following is the bloat report for MemTurbo. Text in red is additional clarification.

Bloat Report for MemTurbo.exe
=============================

Full path: D:\Program Files\Silicon Prairie Software\MemTurbo\MemTurbo.exe

Image size (bytes): 532480

File alignment (bytes): 4096

This is a blight:
The linker flag '/opt:noWin98' should have been used.
This means that every section in this executable is padded with
three thousand five hundred eighty four useless bytes of zeroes.

Data Directories
================
IAT                             1620
IMPORT                          260
RESOURCE                        226864

Yes, lots of 'resources' -
but is this suitable for a memory optimizer?
You be the judge.


Debug Info
==========


Dependencies
============
ADVAPI32.dll                    D:\WINNT\System32\ADVAPI32.dll
COMCTL32.dll                    D:\WINNT\System32\COMCTL32.dll
comdlg32.dll                    D:\WINNT\System32\comdlg32.dll
GDI32.dll                       D:\WINNT\System32\GDI32.dll
KERNEL32.dll                    D:\WINNT\System32\KERNEL32.dll
MSVCRT.dll                      D:\WINNT\System32\MSVCRT.dll
ntdll.dll                       D:\WINNT\System32\ntdll.dll
ole32.dll                       D:\WINNT\System32\ole32.dll
OLEAUT32.dll                    D:\WINNT\System32\OLEAUT32.dll
oledlg.dll                      D:\WINNT\System32\oledlg.dll
OLEPRO32.DLL                    D:\WINNT\System32\OLEPRO32.DLL
RPCRT4.dll                      D:\WINNT\System32\RPCRT4.dll
SHELL32.dll                     D:\WINNT\System32\SHELL32.dll
USER32.dll                      D:\WINNT\System32\USER32.dll
WINSPOOL.DRV                    D:\WINNT\System32\WINSPOOL.DRV


Incremental Linking
===================
.text                           620

Indicates the presence of C++.


Runtime Conflicts
=================


Sections
========
.data           c0000040        12288
.rdata          40000040        61440
.rsrc           40000040        229376

Again, we see the preponderance of 200KB of resources.
But we were supposed to free memory, and not gobble it up?
Or were we?

.text           60000020        204800

Lots and lots and lots of code -
And, as we shall see, mostly for the MFC skeleton.
Most of this code is never used.


Strings
=======
Afx                             8
C3d                             7
CLSID\                          15
GetProcAddress                  1
InprocHandler                   1
LoadLibrary                     1
LocalServer                     1
ProgID                          3
RegCreateKey                    1
Software\                       1
TerminateProcess                1
Visual C++ Runtime Library      1
WritePrivateProfileString       1

A very messy business indeed.
This proves the presence of the MFC (Afx),
but what's worse, it also shows us that this
application will trash our Registry (CLSID\, Software\).
The presence of WritePrivateProfileString is typical
for MFC skeletons - however no INI files are used.
It's just more 'code bloat'.

Note as well that the Microsoft runtime is linked
both statically and dynamically - a sure sign of waste
if there ever was one.


Uninitialized Data
==================


Unoptimized Code
================
.text                           5

Again, a sign that C++ is in use.

The bloat report demonstrates that the code and the resources for this application are humungoid - what more can we find out?

  The Resources

About | Gallery | News | Order the XPT | Products | Resources | Security | Services | Workshop
Copyright © Radsoft. All rights reserved.