Icon View Incident Report

Minor Minor
Reported By: Clive Bennett
Reported On: 4/19/2004
For: Version 4.05 Build 1
# 1701 Opening and Closing Tables in a Multi-Threaded Application with Many Tables Already Open Is Slow

My application kicks off a thread which in turn kicks off other threads to process data in a DBISAM db, This all works fine.

My question is regarding performance,

When the threads are run from my application they take approx 5.5secs to run, If I create a seperate small application that only runs the threads they take 3.4seconds to run. My application is reasonably large but even if I have it running and the seperate app that runs the threads running it alwasy takes 3.4seconds, whereas it always takes 5.5 if run from my main application.

If before I run my thread I set database.connected := FALSE the threads are about 1 second faster, I cant however do this for my app as the reason I have the threads is so that my users can continue using the app whilst its processing changes.


Comments Comments
The problem was that the internal procedures for opening and closing files and logical tables were using linear searches when they would have benefitted from binary searches.


Resolution Resolution
Fixed Problem on 5/25/2004 in version 4.06 build 1
Image