Boost logo

Boost :

Subject: Re: [boost] [persistent] Persistent library preview
From: Peder Holt (peder.holt_at_[hidden])
Date: 2010-01-04 17:13:35


2010/1/3 Stefan Strasser <strasser_at_[hidden]>

>
> Here's the current documentation of (Boost?).Persistent:
>
>
> https://svn.boost.org/svn/boost/sandbox/persistent/libs/persistent/doc/html/index.html
>
> In short, it is a library that provides access to objects persistent on
> disk
> with an interface as close as possible to accessing regular objects in
> memory, and it introduces transactions to e.g. ensure consistency after a
> crash.
> See "Introduction" for more information.
>
> This is the version I plan to submit for a boost review, so if you are
> interested in that kind of library, please have a look at it now and don't
> wait for a formal review.
> The boost review queue has grown substantially, so it might be a long time
> until a formal review, which could be used for improvements based on your
> comments.
>
>
This looks very interesting. I read through the documentation, and the
interface looks very clean.

>From the documentation it seems that the library supports some form of
undo/redo.
Is this the case? And if so, can you give a short code example of how to use
this?

Also, can you describe the caching mechanism?
How much control do the user have over how much memory he can afford to use
for caching objects in memory?
Is it possible to control cache size per type?

A final question:
I have an application that saves analysis results for a given analysis as an
HDF5 file. http://www.hdfgroup.org/HDF5/
This HDF5 file initially contains only input to the analysis. The HDF5 file
is then fed to another program which modifies it and stores back results.
1. Is it possible to to make boost.persistent write its data to an HDF5
file?
2. If this is/can be made possible, is it possible to ask a loc<T> about its
index in the file?
3. Is it possible to create several intermingled sessions/transactions that
save to different databases?
Example:
class Analysis {
  //Contains a bunch of result entries using boost.persistent
}
Analysis analysis1;
Analysis analysis2;
analysis1.setupAnalysis();
analysis2.setupAnalysis();
analysis1.execute();
analysis2.execute();

I want analysis1 and analysis2 to have its results in different file
archives.

I am looking forwards to following the development of this library

Regards
Peder Holt

> Code will follow as soon as some issues are sorted out, especially porting
> the
> (few) platform dependent parts to windows.
>
> Regards,
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost
>


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk