Re: CLOS persistence



On Jan 2, 6:37 am, levy <levente.mesza...@xxxxxxxxx> wrote:
On jan. 2, 08:54, vtail <victor.kryu...@xxxxxxxxx> wrote:



Happy New Year group,

I would appreciate comments on existing CLOS persistence libraries, in
particular elephant vs cl-perec: how reliable/fast each one is, how
large is the user base, how active are maintainers etc. For elephant
in particular, I'm also interested in performance of Postgresql
backend vs BerkeleyDB.


I'm using SBCL on linux-amd64. I'm aware of AllegroCL/AllegroCache,
but I'm only considering free implementations at that point.


I am one of the authors of cl-perec, so I can answer your questions
about it.

The good news: We are using it currently in exactly one production
system (with a few thousand users, one hundred persistent classes some
of which has a million instances) without any issues so far. There's a
quite good test suite in the repository which assures us not breaking
things with changes. Of course we are continuously maintaining it and
also have some minor developments in mind and willing to take into
consideration users' needs too (well if there were any ;-).

Read performance is not bad at all, because cl-perec gives a quite
good RDBMS mapping for the CLOS classes you define. You can use the
provided query compiler, write your own SQL queries or even mix the
two. Using CLOS is still possible even if you have some hand optimized
queries and lazy loading will work from that. Write performance is not
optimized that much and I know a couple of ways how to improve it, but
remember that in the worst case you can always execute an SQL batch
update.

The bad news: AFAICT the user base is practically zero, we had as much
as three users who were able to set it up and give it a try.
Unfortunatly we don't exactly know how far did they get with it. Well,
as you probably know there's no documentation other than a few hundred
test cases.

levy

Thank you for your answers, Levy.

Congratulations on winning the contract - it is impressive what you
have done under such time constraints!

If it's appropriate to ask - what was the reason for writing cl-perec
in the first place (versus using elephant)? I understand that your
time constraints were pretty tight so you most likely have studied all
the available options before rolling your own thing...

Best Regards,
Victor.
.



Relevant Pages

  • Re: CLOS persistence
    ... particular elephant vs cl-perec: how reliable/fast each one is, ... I am one of the authors of cl-perec, so I can answer your questions ... good RDBMS mapping for the CLOS classes you define. ... AFAICT the user base is practically zero, ...
    (comp.lang.lisp)
  • CLOS persistence
    ... I would appreciate comments on existing CLOS persistence libraries, ... particular elephant vs cl-perec: how reliable/fast each one is, ...
    (comp.lang.lisp)
  • Re: a good OR mapper for clisp?
    ... CL-Perec is an ORM, but I'd advise you to use a real persistency ... solution, i.e. Elephant. ...
    (comp.lang.lisp)