Alaska Software Inc. - Poor performance on XBase 2.0
Username: Password:
AuthorTopic: Poor performance on XBase 2.0
S++awomir CiupinskiPoor performance on XBase 2.0
on Sat, 15 Nov 2014 21:52:24 +0100
We are observing very very poor performance on Xbase 2.0

We have the windows standalone desktop application created in Xbase 1.9 
that we wanted to migrate to 2.0

Application uses mainly DBF/NTX databases.
Application uses XbpBrowse objects, standard XBase parts that were 
available in 1.9 like XbpSLE, XbpStatic etc. 

We observe 2 main issue with performance:

1. During initialization we are doing "reindexing of database" with

DbUseArea
DbPack
OrdCreate

We use large number of DBF files and index files (around to 200 DBF, 2000 
ntx), files are relativly small or even part of them is empty.

The time of operation on the same machine (compared side-by-side) 
increased from:

20 seconds on Xbase 1.9 to
140 seconds on XBase 2.0

2. User Interface is notificable slow
All actions in opening XbpDialog windows are much slower. I am not sure if 
this is related to painitng procedure or other implementation.

On Xbase 1.9 windows were opened instantly
On Xbase 2.0 it is like second to 2 seconds to open windows.

I have not measured object manipulations but anything we measure is slower 
in 2.0.


Does anybody else have similar issues?
Does anybody know a solution for that or is it a feature of XBase 2.0?
James LoughnerRe: Poor performance on XBase 2.0
on Sat, 15 Nov 2014 19:13:51 -0500
My apps appear the same or faster. Have not noticed any major problem 
with GUI. Have not yet test across a network but local DBF/CDX seem as fast

Jim

On 11/15/2014 03:52 PM, "S++awomir Ciupinski" wrote:
> We are observing very very poor performance on Xbase 2.0
>
> We have the windows standalone desktop application created in Xbase 1.9
> that we wanted to migrate to 2.0
>
> Application uses mainly DBF/NTX databases.
> Application uses XbpBrowse objects, standard XBase parts that were
> available in 1.9 like XbpSLE, XbpStatic etc.
>
> We observe 2 main issue with performance:
>
> 1. During initialization we are doing "reindexing of database" with
>
> DbUseArea
> DbPack
> OrdCreate
>
> We use large number of DBF files and index files (around to 200 DBF, 2000
> ntx), files are relativly small or even part of them is empty.
>
> The time of operation on the same machine (compared side-by-side)
> increased from:
>
> 20 seconds on Xbase 1.9 to
> 140 seconds on XBase 2.0
>
> 2. User Interface is notificable slow
> All actions in opening XbpDialog windows are much slower. I am not sure if
> this is related to painitng procedure or other implementation.
>
> On Xbase 1.9 windows were opened instantly
> On Xbase 2.0 it is like second to 2 seconds to open windows.
>
> I have not measured object manipulations but anything we measure is slower
> in 2.0.
>
>
> Does anybody else have similar issues?
> Does anybody know a solution for that or is it a feature of XBase 2.0?
>
Matej JuracRe: Poor performance on XBase 2.0
on Mon, 17 Nov 2014 08:37:48 +0100
Are both issues seen with app running from IDE (which adds much overhead) or
already compiled exe/dll with same compile/link options (no debug info
included). It would accont for slower performance.

>1. During initialization we are doing "reindexing of database" with...

You are doing reindexing at each start-up of application or only on first run
after installation? 
If on each start-up, that is unnecessary, unless you are fixing some really
bad issues with table and index management. Move code to separate reindex
procedure and onyl start it when necessary/per user request
S++awomir CiupinskiRe: Poor performance on XBase 2.0
on Mon, 17 Nov 2014 10:23:42 +0100
Matej Jurac wrote in message news:2ee8677c$52da366d$14b2a2@news.alaska-
software.com...
>Are both issues seen with app running from IDE (which adds much overhead) 
or
>already compiled exe/dll with same compile/link options (no debug info
>included). It would accont for slower performance.
>
>>1. During initialization we are doing "reindexing of database" with...
>
>You are doing reindexing at each start-up of application or only on first 
run
>after installation? 
>If on each start-up, that is unnecessary, unless you are fixing some 
really
>bad issues with table and index management. Move code to separate reindex
>procedure and onyl start it when necessary/per user request

Thanks for reply.

The newest observation is that it was not XBase 2.0 that made it slower.
The change must have been done in Xbase 1.9. We have been using 1.9 with 
latest update in 2006. Currently When fully updated 1.9 with all hot fixes  
is very similar to what we observe in 2.0.
1.9 from 2006 was lighting fast compared to later versions.
I have not traced exactly the hot fix package that makes it slower yet.

1.
This happens not only from IDE. But from IDE it is nearly impossible to 
debug as the IDE hangs very often.

2.
About reindexing we need to do that as the application is used but not 
"aware" users (about 30k), and sometimes the NTX files were corrupted 
which was ending in very strange errors or behaviors. Tracing what was 
corrupting the files is  very difficult in such differentiated enviroment.
I know this is not the best solution but saves us a lot of maintenance 
issues.
Andreas HerdtRe: Poor performance on XBase 2.0
on Mon, 17 Nov 2014 16:16:44 +0100
Hello Mr Ciupinski,

It is required to isolate each individual observation you have.

>> 1. During initialization we are doing "reindexing of database" with

Would you please extract your reindex code for one of your tables?
We would like to understand what happens when reindex is done with 1.9
and 2.0.

>> 2. User Interface is notificable slow

The same is true with UI behaviour. Please extract one of your dialogs
so that we can start to analyzes why the operations perform with
different speed comparing the versions.

I think you should give each topic a new thread in this newsgroup where
you describe what exactly you are doing so that we can start to figure
out the root cause of your observation.

With my best regards,

  Andreas Herdt
  Alaska Software

--------------------------------------------------------------------

Technical Support:      support@alaska-software.com

News Server:            news.alaska-software.com
Homepage:               http://www.alaska-software.com
WebKnowledgeBase:       http://www.alaska-software.com/kbase.shtm

Fax European Office:    +49 (0) 61 96 - 77 99 99 23
Fax US Office:          +1 (646) 218 1281
--------------------------------------------------------------------

"S++awomir Ciupinski" wrote in message 
news:feded09$6ebb8c17$107984@news.alaska-software.com...
> We are observing very very poor performance on Xbase 2.0
>
> We have the windows standalone desktop application created in Xbase 1.9
> that we wanted to migrate to 2.0
>
> Application uses mainly DBF/NTX databases.
> Application uses XbpBrowse objects, standard XBase parts that were
> available in 1.9 like XbpSLE, XbpStatic etc.
>
> We observe 2 main issue with performance:
>
> 1. During initialization we are doing "reindexing of database" with
>
> DbUseArea
> DbPack
> OrdCreate
>
> We use large number of DBF files and index files (around to 200 DBF, 2000
> ntx), files are relativly small or even part of them is empty.
>
> The time of operation on the same machine (compared side-by-side)
> increased from:
>
> 20 seconds on Xbase 1.9 to
> 140 seconds on XBase 2.0
>
> 2. User Interface is notificable slow
> All actions in opening XbpDialog windows are much slower. I am not sure if
> this is related to painitng procedure or other implementation.
>
> On Xbase 1.9 windows were opened instantly
> On Xbase 2.0 it is like second to 2 seconds to open windows.
>
> I have not measured object manipulations but anything we measure is slower
> in 2.0.
>
>
> Does anybody else have similar issues?
> Does anybody know a solution for that or is it a feature of XBase 2.0?
S++awomir CiupinskiRe: Poor performance on XBase 2.0
on Mon, 17 Nov 2014 21:20:39 +0100
Hello Mr Herdt,

I know that it is difficult to analyse those issues for you as I did not 
give enough details about our solutions.
I will try to isolate the issues and prepare some tracing information 
about performance.

Currently we have to prepare the build for conditional compilation for 
different releases of Alaska Software. I will be back in new threads with 
more details.

Regards,
Slawomir Ciupinski


Andreas Herdt wrote in message news:5a84639e$30f06075$fb9c@news.alaska-
software.com...
>Hello Mr Ciupinski,
>
>It is required to isolate each individual observation you have.
>
>>> 1. During initialization we are doing "reindexing of database" with
>
>Would you please extract your reindex code for one of your tables?
>We would like to understand what happens when reindex is done with 1.9
>and 2.0.
>
>>> 2. User Interface is notificable slow
>
>The same is true with UI behaviour. Please extract one of your dialogs
>so that we can start to analyzes why the operations perform with
>different speed comparing the versions.
>
>I think you should give each topic a new thread in this newsgroup where
>you describe what exactly you are doing so that we can start to figure
>out the root cause of your observation.
>
>With my best regards,
S++awomir CiupinskiRe: Poor performance on XBase 2.0
on Thu, 21 May 2015 00:36:21 +0200
Hi,

After some break I am returning to the topic with new observations:

1. The problem is between versions 1.9.331 and 1.9.355 (SL1) so I believe 
it is something that was introduced in 1.9 SL1.
2. Problem with slower indexing happens only for NTX, with CDX in 1.9.355 
it works as fast as in 1.9.331.
3. It does not matter what block we are using for indexing even {||1}.

S++awomir Ciupinski wrote in message 
news:69d0a700$73b7debb$189ee@news.alaska-software.com...
>Hello Mr Herdt,
>
>I know that it is difficult to analyse those issues for you as I did not 
>give enough details about our solutions.
>I will try to isolate the issues and prepare some tracing information 
>about performance.
>
>Currently we have to prepare the build for conditional compilation for 
>different releases of Alaska Software. I will be back in new threads with 
>more details.
>
>Regards,
>Slawomir Ciupinski
>
>
>Andreas Herdt wrote in message news:5a84639e$30f06075$fb9c@news.alaska-
>software.com...
>>Hello Mr Ciupinski,
>>
>>It is required to isolate each individual observation you have.
>>
>>>> 1. During initialization we are doing "reindexing of database" with
>>
>>Would you please extract your reindex code for one of your tables?
>>We would like to understand what happens when reindex is done with 1.9
>>and 2.0.
>>
>>>> 2. User Interface is notificable slow
>>
>>The same is true with UI behaviour. Please extract one of your dialogs
>>so that we can start to analyzes why the operations perform with
>>different speed comparing the versions.
>>
>>I think you should give each topic a new thread in this newsgroup where
>>you describe what exactly you are doing so that we can start to figure
>>out the root cause of your observation.
>>
>>With my best regards,
S++awomir CiupinskiRe: Poor performance on XBase 2.0
on Tue, 07 Nov 2023 11:06:49 +0100
Looks like the problem is solved in November 2022

Currently I am testing the performance of the latest 2.0 version and it is 
comparable to 1.9.331 and more than twice faster than 1.9.355 (SL1). After 17 
years of being stuck on 1.9 we can finally migrate to 2.0.

Looks that my observation was correct and I am mote than happy that the issue 
is finally solved. I am little disappointed that nobody else had the same 
observations before.

According to the roadmap announcement:

"We did a partial re-implementation of the Xbase++ runtime internal EVM (event 
manager). The purpose of the EVM is to ensure proper event message routing 
between threads. This is especially important for ActiveX controls where 
events cross threads and need to be synchronized.

With that work, we have been able to apply more optimistic algorithms to avoid 
unnecessary synchronization efforts between threads.

Our work applies to Windows 7, Windows 8, Windows 10 as well as Windows 11 for 
server and desktop operating systems."



S++awomir Ciupinski wrote in message news:6f2c6761$7cfc9f46$87f4@news.alaska-
software.com...
>Hi,
>
>After some break I am returning to the topic with new observations:
>
>1. The problem is between versions 1.9.331 and 1.9.355 (SL1) so I believe 
>it is something that was introduced in 1.9 SL1.
>2. Problem with slower indexing happens only for NTX, with CDX in 1.9.355 
>it works as fast as in 1.9.331.
>3. It does not matter what block we are using for indexing even {||1}.
>
>S++awomir Ciupinski wrote in message 
>news:69d0a700$73b7debb$189ee@news.alaska-software.com...
>>Hello Mr Herdt,
>>
>>I know that it is difficult to analyse those issues for you as I did not 
>>give enough details about our solutions.
>>I will try to isolate the issues and prepare some tracing information 
>>about performance.
>>
>>Currently we have to prepare the build for conditional compilation for 
>>different releases of Alaska Software. I will be back in new threads with 
>>more details.
>>
>>Regards,
>>Slawomir Ciupinski
>>
>>
>>Andreas Herdt wrote in message news:5a84639e$30f06075$fb9c@news.alaska-
>>software.com...
>>>Hello Mr Ciupinski,
>>>
>>>It is required to isolate each individual observation you have.
>>>
>>>>> 1. During initialization we are doing "reindexing of database" with
>>>
>>>Would you please extract your reindex code for one of your tables?
>>>We would like to understand what happens when reindex is done with 1.9
>>>and 2.0.
>>>
>>>>> 2. User Interface is notificable slow
>>>
>>>The same is true with UI behaviour. Please extract one of your dialogs
>>>so that we can start to analyzes why the operations perform with
>>>different speed comparing the versions.
>>>
>>>I think you should give each topic a new thread in this newsgroup where
>>>you describe what exactly you are doing so that we can start to figure
>>>out the root cause of your observation.
>>>
>>>With my best regards,