Report: upgrade to 1.2alpha and MagmaPreallocatedDictionary

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Report: upgrade to 1.2alpha and MagmaPreallocatedDictionary

Timothy James Ziebart
Hi All,  I wanted to let everyone know how it went. Environment: Linux
Ubuntu 10.10, Seaside 3.0.2, Pharo 1.1.1.

Monticello has not been updated with the latest Magma so I used the
instructions Chris gave for loading the packages.  I duplicated the list
as follows:

First load WeakOrderedCollection.2.cs.gz included on email from Chris
announcing release of Magma 1.2 alpha1 - November 11, 2010.

Ma exception handling-cmm.37
Ma base additions-cmm.187
Ma proxy support-cmm.44
Ma traverse object graphs-cmm.32
MaFixedWidthReport-cmm.7
Ma Statistics-cmm.24
Ma object serialization-cmm.245
Collections-BTree-lr.73
Ma special collections-cmm.116
Ma client server-cmm.217
WriteBarrier-cmm.28
Magma client-cmm.520
Ma contextual search-cmm.35
Magma server-cmm.418
Ma Armored Code-cmm.149
Ma Squeak domain-cmm.34
Ma special collections tester-cmm.14
Ma object serialization tester-cmm.33
Magma tester-cmm.372

Ran the upgrade on my existing database using instructions given by
Chris in a previous email:

please use the "Magma upgrader" package available on the
"Magma tester" project of squeaksource.

After loading it:

  (MagmaUpgrader source: '/path/to/old/repository') compressTo:
'/path/to/upgraded/repository'

Results: Packages loaded and upgrade went without a hitch.

MagmaPreallocatedDictionary was then implemented replacing a standard
dictionary keyed by region with each region holding a dictionary keyed
by record id.  My clients have to search a third party database with the
results being updated with the data held in the magma database.

The design was influenced by performance concerns. To reduce search time
the client first selects a region and the dictionary associated with the
region is loaded in effect loading only part of the database.  The third
party data is acquired and the records are then matched by a unique id
on the dictionary now loaded.  At this time there are only 30,000 region
and record objects in the database (each object holds 10 fields
containing strings and numbers totalling on average 200 characters).
But with the standard dictionary loading the region dictionary took 7
seconds.  After having implemented the MagmaPreallocatedDictionary the
same operation takes LESS THAN A SECOND!  The delay is imperceptible by
the user.  WOW, my next step is to test the performance by replacing the
two tier dictionary to a single MagmaPreallocatedDicationary keyed on
the record id.  And thanks to Chris's comments I will be implementing a
MagmaCollection on the same objects for performing descriptions and
range searches. I must say I am impressed by Magma's reliability and the
speed is not a factor -- the bottleneck is JQuery rendering!  Thanks
Chris.

Tim


_______________________________________________
Magma mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/magma
Reply | Threaded
Open this post in threaded view
|

Re: Report: upgrade to 1.2alpha and MagmaPreallocatedDictionary

Chris Muller-3
Glad to hear things are going well.  Learning how Magma works and
playing to its strengths is key, nice going!

 - Chris


On Thu, Dec 16, 2010 at 1:54 PM, Timothy James Ziebart
<[hidden email]> wrote:

> Hi All,  I wanted to let everyone know how it went. Environment: Linux
> Ubuntu 10.10, Seaside 3.0.2, Pharo 1.1.1.
>
> Monticello has not been updated with the latest Magma so I used the
> instructions Chris gave for loading the packages.  I duplicated the list
> as follows:
>
> First load WeakOrderedCollection.2.cs.gz included on email from Chris
> announcing release of Magma 1.2 alpha1 - November 11, 2010.
>
> Ma exception handling-cmm.37
> Ma base additions-cmm.187
> Ma proxy support-cmm.44
> Ma traverse object graphs-cmm.32
> MaFixedWidthReport-cmm.7
> Ma Statistics-cmm.24
> Ma object serialization-cmm.245
> Collections-BTree-lr.73
> Ma special collections-cmm.116
> Ma client server-cmm.217
> WriteBarrier-cmm.28
> Magma client-cmm.520
> Ma contextual search-cmm.35
> Magma server-cmm.418
> Ma Armored Code-cmm.149
> Ma Squeak domain-cmm.34
> Ma special collections tester-cmm.14
> Ma object serialization tester-cmm.33
> Magma tester-cmm.372
>
> Ran the upgrade on my existing database using instructions given by
> Chris in a previous email:
>
> please use the "Magma upgrader" package available on the
> "Magma tester" project of squeaksource.
>
> After loading it:
>
>  (MagmaUpgrader source: '/path/to/old/repository') compressTo:
> '/path/to/upgraded/repository'
>
> Results: Packages loaded and upgrade went without a hitch.
>
> MagmaPreallocatedDictionary was then implemented replacing a standard
> dictionary keyed by region with each region holding a dictionary keyed
> by record id.  My clients have to search a third party database with the
> results being updated with the data held in the magma database.
>
> The design was influenced by performance concerns. To reduce search time
> the client first selects a region and the dictionary associated with the
> region is loaded in effect loading only part of the database.  The third
> party data is acquired and the records are then matched by a unique id
> on the dictionary now loaded.  At this time there are only 30,000 region
> and record objects in the database (each object holds 10 fields
> containing strings and numbers totalling on average 200 characters).
> But with the standard dictionary loading the region dictionary took 7
> seconds.  After having implemented the MagmaPreallocatedDictionary the
> same operation takes LESS THAN A SECOND!  The delay is imperceptible by
> the user.  WOW, my next step is to test the performance by replacing the
> two tier dictionary to a single MagmaPreallocatedDicationary keyed on
> the record id.  And thanks to Chris's comments I will be implementing a
> MagmaCollection on the same objects for performing descriptions and
> range searches. I must say I am impressed by Magma's reliability and the
> speed is not a factor -- the bottleneck is JQuery rendering!  Thanks
> Chris.
>
> Tim
>
>
> _______________________________________________
> Magma mailing list
> [hidden email]
> http://lists.squeakfoundation.org/mailman/listinfo/magma
>
_______________________________________________
Magma mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/magma