<br><br><div class="gmail_quote">On Tue, Nov 2, 2010 at 12:52 PM, Hannes Hirzel <span dir="ltr">&lt;<a href="mailto:hannes.hirzel@gmail.com">hannes.hirzel@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Norberto<br>
<br>
Just thinking aloud ....<br>
76000 records is not that much. Assuming a record is 2kB (2000Bytes)<br>
it would 152000kB or 152MB. Which would be fine for an image. So you<br>
might do it as a memory database -- e.g. Sandstone.<br>
<a href="http://www.squeaksource.com/SandstoneDb" target="_blank">http://www.squeaksource.com/SandstoneDb</a><br>
<br>
See in particular the idea mentioned by Dan Ingalls to go for a really<br>
big image. In fact an image of let&#39;s say 400MB would probably not yet<br>
be considered to be big in his terms.<br>
<br>
What do you think?<br></blockquote><div>In theory, that&#39;s what everybody should do.  I allways dreamed that.<br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<br>
Any experience reports with images of this size keeping data?<br></blockquote><div><br>I tried  using collection in memory. They consume much more time. Searching in middle sized collections in memory is impossible. <br>
Anyway, the size of the squeak image is a problem I think is not fixed. Image size sometimes grows to much and there&#39;s no garbage collecting that can return it to its original size. I had to reconstruct the whole code from the packages several times in order to gain decens of ghost mb.  I think Seaside is the problem, but I&#39;m not sure.<br>
I think if you use an original big image, these problem should be dramatic.<br><br>I&#39;ll try Sandstone.  <br>Thanks for the tip.<br><br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<br>
<br>
Regards<br>
<font color="#888888">Hannes<br>
</font><div><div></div><div class="h5"><br>
On 11/2/10, Norberto Manzanos &lt;<a href="mailto:nmanzanos@gmail.com">nmanzanos@gmail.com</a>&gt; wrote:<br>
&gt; The question is &quot;Magma could be used in a real-world application?&quot;<br>
&gt; I think not.<br>
&gt; I used Magma a couple of years ago. I had to migrate 13000 records from a<br>
&gt; database, build objects form the data and find duplications. The whole<br>
&gt; process of migration to Magma took more than two weaks. Yes, weaks!. 15<br>
&gt; days!. And I had to made a lot of strange things to reduce time. I made<br>
&gt; periodical cleaning up process in the middle of the whole migation  to<br>
&gt; improve performance. The first attemps tend to infinite, I reduce it to two<br>
&gt; weaks.<br>
&gt; The application was in production two years, with a lot of performance<br>
&gt; problems. Finally we have to throw it away.<br>
&gt; Now I&#39;m trying again. Now I use very simple objects (just a couple of string<br>
&gt; variables) with only one index for one of this strings .<br>
&gt; But the problem is once again the same: each time I add an object to a<br>
&gt; MagmaCollection I have to look after duplicates, and if found, merge them.<br>
&gt; I&#39;m adding object to 4 MagmaCollections, with an index with size 64. (I need<br>
&gt; more, but once again, performance...)<br>
&gt; Look at this numbers<br>
&gt; I tried with 2000 records (total is 76000).<br>
&gt; If I just add the objects without search it takes 2 minutes<br>
&gt; If I search the objects it takes 16 minutes!<br>
&gt; If I search the objects, and then iterate the results to make a more fine<br>
&gt; comparision, it takes 20 minutes!<br>
&gt;<br>
&gt; In a linear progression, total time for 76000 records would be 12 hours,<br>
&gt; which is not very good. But time doesn&#39;t grow lineary but exponentially.<br>
&gt; I tried with 12000 records: 5 hours 30 minutes. How must I supose it will<br>
&gt; take with 76000 records. 2 days?  3?<br>
&gt; These are not times for a process I surely will perform again as my model<br>
&gt; grows.<br>
&gt; The numbers tells, once again, that the problem is not adding the objects,<br>
&gt; merging or materializing them but  searching on a MagmaCollection. Time goes<br>
&gt; by and this problem is not solved.<br>
&gt;<br>
&gt; I&#39;m desperate.<br>
&gt; I have no way of persist my objects if I want to avoid everybody laughing at<br>
&gt; me.<br>
&gt;<br>
&gt; Norberto<br>
&gt;<br>
&gt; On Thu, Oct 21, 2010 at 3:33 AM, Igor Stasenko &lt;<a href="mailto:siguctua@gmail.com">siguctua@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt;&gt; Hello all,<br>
&gt;&gt; sorry for cross-posting. :)<br>
&gt;&gt;<br>
&gt;&gt; I&#39;d like to ask you, if anyone could share either an image or<br>
&gt;&gt; installation with application,<br>
&gt;&gt; which using Magma OODB.<br>
&gt;&gt; I&#39;d like to use it &amp; test how changing different aspects of Magma<br>
&gt;&gt; internals could affect the performance.<br>
&gt;&gt;<br>
&gt;&gt; There&#39;s many tricks, which is known by Chris how to speed it up by<br>
&gt;&gt; cleverly fine-tuning various Magma options,<br>
&gt;&gt; like read strategy etc.<br>
&gt;&gt; But what i&#39;d like is to see, is some setup, used by people, and by<br>
&gt;&gt; taking it, see how it could make run faster,<br>
&gt;&gt; without changing an application code.<br>
&gt;&gt;<br>
&gt;&gt; I remember, someone gave a talk @ ESUG, that they were using Magma for<br>
&gt;&gt; their application,<br>
&gt;&gt; but then forced to switch to another DB layer, because they had bad<br>
&gt;&gt; performance issues.<br>
&gt;&gt; It would be good, if you could give me the code, so i can run it and<br>
&gt;&gt; see if things could be improved.<br>
&gt;&gt; Its not a problem, if code is not open-source, we could sign an NDA,<br>
&gt;&gt; if this is necessary.<br>
&gt;&gt;<br>
&gt;&gt; I need something real, simply because benchmarks sometimes not<br>
&gt;&gt; representative. :)<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; Best regards,<br>
&gt;&gt; Igor Stasenko AKA sig.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Norberto Manzanos<br>
&gt; Instituto de Investigaciones en Humanidades y Ciencias Sociales (IdIHCS)<br>
&gt; FaHCE/UNLP - CONICET<br>
&gt; Calle 48 e/ 6 y 7 s/Nº - 8º piso - oficina 803<br>
&gt; Tel: +54-221-4230125 interno 262<br>
&gt;<br>
<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br><font face="Arial" size="2">Norberto Manzanos<br>Instituto de Investigaciones en 
Humanidades y Ciencias Sociales (IdIHCS)<br>FaHCE/UNLP - CONICET<br>Calle 48 e/ 
6 y 7 s/Nº - 8º piso - oficina 803<br>Tel: +54-221-4230125 interno 
262</font><div style="display: inline;"></div><div style="display: inline;"></div><div style="display: inline;"></div><br>