November 1993 - POLISHING FOR PERFORMANCE


FEATURES

PERFORMANCE TUNING: SLUGGING IT OUT!

by Michael R. Dunlavey

When you think of performance tuning, what comes to mind? Handcoding in assembly language? Profiling? Fancy data structures? How about a process called "deslugging" for tracking down correct, but slow, code. In addition, Mike Armistead discusses profiler evolution.

HEAP CHECKING

by Steve Oualline

Heap errors are among the most frustrating programming bugs you'll run up against. Steve presents libraries for intercepting heap-related calls and generating message logs.

FINDING RUN-TIME MEMORY ERRORS

by Taed Nelson

Taed examines the problems arising from array-bounds violations--stack corruption, segmentation violations, and ultimately, programmer insanity. Although focusing on Purify 2.0, he also looks at Insight, Sentinel, MemCheck, and Bounds-Checker.

EAVESDROPPING ON INTERRUPTS

by Rick Knoblaugh

Rick's interrupt-monitoring program traps and logs interrupt activity, enabling your debugger or other program to gain control when specified interrupts occur.

EMBEDDED SYSTEMS

PERFORMANCE VERIFICATION

by Roger Crooks

Designers of high-performance embedded systems look for performance gains wherever they can be found. Roger examines why debugging RISC-based systems is complex, especially when caches are involved.

NETWORK COMPUTING

A NETWARE CHAT UTILITY

by Eduardo M. Serrat

This utility lets you chat interactively with other users across Novell networks. You can call other users, accept or reject incoming calls, and even set up a conference chat via individual-user viewports.

EXAMINING ROOM

EXAMINING OPTLINK FOR WINDOWS

by Matt Pietrek

Optlink for Windows, a high-performance replacement for Microsoft's LINK.EXE and Borland's TLINK.EXE, provides optimizations that increase execution speed while reducing application size.

PROGRAMMER'S WORKBENCH

DEBUGGING WINDOWS APPLICATIONS

by Ray Valdes

Ray discusses the tools and techniques he uses when figuring out what went wrong with his Windows apps. Ivan Gerencir adds his multi-application message trace facility for Windows.

COLUMNS

PROGRAMMING PARADIGMS

by Michael Swaine

Michael puts forth this examination of why the Forth language is still a good choice for many applications, and how Forth relates to cellular automata, genetic algorithms, artificial life, and the game of Life.

C PROGRAMMING

by Al Stevens

Al unchains version 2.0 of is D-Flat++ library--a CUA-compliant library for DOS text mode implemented as a C++ class library. D-Flat++ applications run from a virtual desktop that contains a screen, a keyboard, a mouse, a clock, and a speaker, represented by classes in the library.

ALGORITHM ALLEY

by Tom Swan

From the year 1661 to today, palindromes are tit-4-tat backwards and forwards. When examining Windows file structures recently, Tom discovered that palindromes are the bases of a data-encryption method.

UNDOCUMENTED CORNER

edited by Andrew Schulman

This month, Pawel Szczerbina looks at undocumented aspects of Novell's NetWare Core Protocol (NCP). When examining the so-called "F2 interface," Pawel found hundreds of NCP functions, although Novell only documents the NCP Erase Files function.

PROGRAMMER'S BOOKSHELF

by Peter D. Varhol

Fuzzy logic is something to think about, and Bart Kosko's new book Fuzzy Thinking is a good place to start mulling it over.

FORUM

EDITORIAL

by Jonathan Erickson

LETTERS

by you

SWAINE'S FLAMES

by Michael Swaine

NEXT MONTH

Can we talk? Interoperability means that computer systems must be able to communicate with each other safely, efficiently, and securely. In December, we'll examine these issues--and more!


Copyright © 1993, Dr. Dobb's Journal