[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