home *** CD-ROM | disk | FTP | other *** search
-
- Borland Pascal Performance Optimization
-
- drs. Robert E. Swart
- P.O. Box 799
- 5702 NP Helmond, The Netherlands
- FidoNet: 2:281/256.12
- Internet: bobs@dragons.nest.nl
-
-
- Push Borland Pascal to its limits. This book is about performance
- optimizations for programs created with Turbo or Borland Pascal.
- Several techniques are described to enhance the speed and reduce
- the size of your applications. The book is packed with numerous
- examples demonstrating the power and flexibility of Borland
- Pascal, and enhancing the performance in many ways. In addition to
- strategies for speed and size optimization, this book contains an
- in-depth discussion of important topics for developing optimized
- applications for Objects, DPMI and Windows. The book and disk
- contain several examples of high performance code, tools and
- applications written in Borland Pascal. The book will be about 250
- pages, while the disk will contain all source code and several
- tools.
-
-
- There is a difference between Turbo Pascal programs that work, and
- Turbo Pascal programs that work fast! The process of performance
- optimization for speed is divided into four steps: finding bottle-
- necks, using more efficient algorithms & datastructures, using
- more efficient language constructs, and finally using BASM code
- or InLine macros.
-
- Finding bottle-necks in your code can be done using tools like
- Turbo Profiler. Three other timing methods are implemented in
- Pascal: one using the System Clock, one using the technique of
- Reps Timer (timing the number of executions per clock-tick), and
- one using the TPTimer unit from Turbo Power. All methods will be
- used throughout the rest of the book for performance measurings.
-
- A better algorithm or datastructure can really make the
- difference. We will examine general and optimized algorithms for
- collections (Stack, Queue, List, Binary Tree, AVL-Tree, B-Tree),
- searching (Linear, Binary, Mathematical) and sorting (Bubble,
- Merge, Quick and non-recursive Quick-sort).
-
- Several programs or routines can be speed up simply by using the
- most efficient language construct for the specific problem. We
- will see examples of SetTexBuf, BlockRead and Streams, Records
- and With, Pointers vs. Arrays, Functions vs. Procedures, IEEE
- floating points and emulation vs. Reals, and Var vs. Value or
- Const parameters.
-
- Sometimes we must descend to the lowest level and write BASM code
- or InLine macros. The difference between BASM and InLine macros
- will be described. We will see examples of fast Strings, Sets,
- and several other routines using advanced assembly language
- optimization techniques.
-
- Size optimization involves code size, data size, stack and
- dynamic memory usage, and overall .exe size. Techniques for
- optimizations for size rather than for speed are given.
-
- We will see why we must avoid DPMI mode-switches to real mode,
- and how we can obtain that goal. Furthermore, some special
- considerations are given when developing DPMI, 32-bits DPMI or
- even Pentium applications.
-
- We will see why virtual functions, constructors and destructors
- sometimes cost a lot of time, but when used properly can be of
- much use and benefit to an application. When developing
- multitasking applications for Windows there are several special
- techniques in order to gain more speed.
-
- Several tools will be discussed, among which are DumpProg (by DJ
- Murdoch and Jeroen Pluimers), TPTimer (by TurboPower) and Stack70
- (by Wilbert van Leijen). These tools also can be found on the
- accompanying disk.
-
-
- Reservations are available until December 31, 1993 for a special
- early-bird price of hfl. 69,95.
- After December 31, 1993 book will be sold for hfl. 99,95
-
- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-X-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-
- [] Yes, I want an early-bird discount for the first edition of
- this book. Bill me for hfl. 69,95 as soon as the book is
- available (early 1994)!
-
- Name: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
-
- Address: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
-
- City: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Zip: _ _ _ _
-
- Signature: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
-
- Send early-bird coupon to P.O. Box 799, 5702 NP Helmond.
-