Re: closing big file : slow

Jean-Claude Wippler <[email protected]>
Newsgroups gmane.comp.db.metakit
Message-ID <[email protected]>
Riccardo Cohen wrote:

> I have a big database :
> - size = 3Mo

That's small, actually.

> - tables   c4gis_param, c4gis_geo, c4gis_id
> - c4gis_geo has 60rows, one field is a subview of 5 to 60 rows, in the 
> subview one field is a subview of 10/50 rows

So there are perhaps a few thousand non-empty subviews in all?

> In my code I simply create a storage and extract some piece of data 
> from c4gis_param (small table):
>
>   if (vxg->is_file())
>   {
>     c4_Storage sto(vxg->get_nativesys_(),false);
>     if (ok)
>     {
>       c4_GisSpace space;
>       space.loadParams(sto); //this loads information
>     }
>   }
>   art_delete(vxg);
>
> the destructor of "sto" is VERY slow (several minutes), here is the 
> call stack when I break the app during process :

Destruction tends to walk through all subviews, that's all I can think 
of as reason for the slowness you describe.  Still, a few thousand 
subviews really is not very much, and taking minutes to go through 
everything sounds very strange.

Are you running the datafilde from a file server?  There might be a lot 
of very small I/O requests.

Also, please be sure to use a recent version of MK (best one right now 
is probably CVS head).  Subview handling is still being tweaked.

> Before making a separate test, does anybody have an idea of what's 
> happening ?

Another reason could be some performance problem with the memory 
allocator.  Subviews tend to do a lot of small allocations.  You did 
not mention column counts, but if there are many columns in the 
subviews, that will definitely lead to tons of tiny allocs/releases.

-jcw

_____________________________________________
Metakit mailing list  -  [email protected]
http://www.equi4.com/mailman/listinfo/metakit
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.