[Cuis-dev] Hi There

Hernan Wilkinson hernan.wilkinson at 10pines.com
Tue Mar 1 05:15:39 PST 2022


Hi Craig,
 another easy way to persist is to use an implementation of Prevelayer (
https://prevayler.org/) or implement it yourself. It is very simple to do
it and works great. I did it a couple of times. The idea is:
1) Reify the actions/commands of your system
2) Save each action that the system executes (like a database log)
3) Save the image from time to time and reset the log of 2) (or start a new
one just in case)

Pros:
1) really fast! all data is in memory
2) easy to implement
3) free :-)

Cons:
1) Not suitable for high load
2) One command must be executed at the same time unless they touch
different objects
3) Does not scale with more than one VM / single point of failure unless
you implement distributed objects

To solve 2) you can implement transactional memory, another easy thing to
do with Smalltalk. Lukas Renggli did a simple implementation of it:
http://scg.unibe.ch/archive/papers/Reng07bTransMem.pdf

Hope it helps!
Hernan.

On Mon, Feb 28, 2022 at 3:47 PM craig via Cuis-dev <cuis-dev at lists.cuis.st>
wrote:

> >
> > Are you aware of SmartRefStream? It may be all you need.
> >
> > Cheers,
> >
> > --
> > Juan Vuletich
>
> Hi Juan,
>
> I was not aware of SmartRefStream, thank you, I'll play with it and see
> if it will suffice.
>
> Craig
> --
> Cuis-dev mailing list
> Cuis-dev at lists.cuis.st
> https://lists.cuis.st/mailman/listinfo/cuis-dev
>


-- 
<https://10pines.com/>Hernán WilkinsonSoftware Developer & Coach

Alem 896, Floor 6, Buenos Aires, Argentina

+54 11 6091 3125

@HernanWilkinson
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20220301/9cf9edf0/attachment.htm>


More information about the Cuis-dev mailing list