[ENH]TransformMorph caching

Eddie Cottongim cottonsqueak at earthlink.net
Sat Jul 26 19:19:24 UTC 2003


I tried the Macrobenchmarks (esp. #6), and it didn't seem to make much
difference one way or another. Thats not really a fair test though, because
I hadn't done all the work of keeping the tree updated properly. Also, the
trees do have a space cost.

I think for lists, something simpler will be better, and will also solve the
slow-open problem.

Eddie


----- Original Message -----
From: "Daniel Vainsencher" <danielv at netvision.net.il>
To: "The general-purpose Squeak developers list"
<squeak-dev at lists.squeakfoundation.org>
Sent: Thursday, July 24, 2003 5:59 PM
Subject: Re: [ENH]TransformMorph caching


> I think speeding long lists is important enough that more than just
> trivial changes will be considered.
>
> It seems the QuadTrees are a general solution that could be used without
> adding any constraints, just some complexity. It might be worth
> considering.
>
> You mentioned a performance penalty in building the tree. Did you
> measure how significant it is? Does it slow down or speed up opening a
> changesorter with lots of updates, for example?
>
> More generally, what does it do to the macrobenchmarks?
>
> Daniel
>
> Eddie Cottongim <cottonsqueak at earthlink.net> wrote:
> > This is a multi-part message in MIME format.
> >
> > --Boundary_(ID_12ycl1ai8tjpRxnKRlD/1g)
> > Content-type: text/plain; charset=iso-8859-1
> > Content-transfer-encoding: 7BIT
> >
> > We've talked quite a bit about working on speeding scrolling in lists
and
> > scrollpanes.
> >
> > One thing that Andreas, myself and others have found is that by caching
> > TransformMorph's localSubmorphBounds, you can get a fairly nice
improvement
> > in scrolling speed for lists and scrollpanes. This seems to be a safe
and
> > simple change.
> >
> > I hope that this enhancement is simple enough that it can be accepted
and
> > provide some immediate benefit to users on PDAs and slower machines. On
> > larger lists, you should see 20-50% improvement in scrolling. Hopefully
> > later we'll get something really smooth, but this helps for now.
> >
> > Andreas sent essentially the same code to the list a while back. If
you'd
> > rather use his, thats fine with me, just let one of us know and it can
be
> > reposted as an [ENH].
> >
> > Eddie
> >
> > >From the preamble:
> >
> > "Cache the value of localSubmorphBounds, as suggested by Andreas, myself
and
> > others.
> >
> > Adds the iVar localBounds to do this.
> > Value is computed lazily by the localSubmorphBounds method and cached.
It is
> > invalidated when layoutChanged it received.
> >
> > Class comment is changed to reflect this addition.
> >
> > Should yield 20-50% speedup in scrolling speed depending on the number
of
> > submorphs of the TransformMorph."
> >
> > --Boundary_(ID_12ycl1ai8tjpRxnKRlD/1g)
> > Content-type: application/octet-stream;
> >  name=TransformMorphCaching-ar+efc.1.cs.gz
> > Content-transfer-encoding: base64
> > Content-disposition: attachment;
filename=TransformMorphCaching-ar+efc.1.cs.gz
> >
> >
H4sIAAAAAAAAAK1W32/bNhB+1oP+h3OKwgnmuP6RH6j3srRZgQ5tMTRF9xBkAy1SNlFKVEkqmYf9
> >
8fuOkmXJzeMMJLbIu+N3d9991PidswXdfa+V+LacXq1VEGRzGo8v6Lfa7Ggxmy3HY7o3IigfqK4k
> >
fqzoxeXyevlAtqRFz5BEoMvVxcVqeU1VMR6lJ2+3otwoulNhlSRfnCh9bl3x0bpq+1ZkW11uzoX7
> >
SeVZestxkyTpx0tv6rC1jpd/lVIremtDsOVGF2nK7ooC/h6FqRWDNjYT5q5eFxz+ja1L6SckPPl6
> >
swF4JWm9o5tSOiWwUey8MjmJUpJFGOenaXojpY8x9VfhmnhNHAqWpMWWhtnXeKD2lNmiqjmuEf9o
> >
YEZ4dn4GBxUKmch4WsbI5ZTeB46hS+DXXFVJT1tVItbO1qEpnCQdyKlM6Ud4IGkjfDy2UGX0zloz
> >
wHMqNyoLESMJlCtoW8LnbmtrI2mnFf4vZueXs5fkK6VkXeFw8pmzxqARzSJJValS8jOay9mUdbFW
> >
juvr25Q8P/DWsKHTk1Gaxl9smTFUEGVokya69EGUmUKBtVgb9UkUCnbjsLcjX1g0hBH0GzBOkxjy
> >
2A/rlbXmVmecLzb3qxlKurFuh6d4tM7O3wivM9AyHQ1R7St6F0RRwR58pOtXi4tXkdTz69VsPqbK
> >
aVCRZqP05ihxlDE4K+tMofC0OL+lLhnBoAhT9aTQWh08nW6MXQtzhjOtQ515riItuKCnMePhHmrN
> >
fl3xJ6CJNoqE8ZYyo6uKSyWMIal9BfYwGdhjHQs3JbqrVKZzjchmB28dtlRaxM29ChiQcoNo1oEJ
> >
gnmAle6wxriP5nT2y+wMyzhOVJXClKi/RRZAfhFiCsFWH1Qe9hR50qW0T02ZThlVZX1k5hmAfbah
> >
KRDn3x5PwilwGXoDznMq3UQBo97octJgALP3VIICuCTsKgWdSKQCo3XFYdNDH5Kk5UDXueQL4h4y
> >
O5h23Sp2z/UoTfafBtRRq+DUdWqaHricJG/AUiVKgufvyh0xvfHMbBlAQ0+ydrwqnUD9Nml/EJLP
> >
GPKuZ6U2SRIFxQ+18MVzIoRDqWrO5rql6ZDHSAC7XIzY9vAEzdN5rhyLzZ5cPrDFBmM2GWoFxItl
> >
tCHBkP8sSFTVrt0wzSrDtwE0eA9psRN2jIqDM3RRgVG1B8sPFM8EpLLpQ8f0rdKup0sNbgAAN53F
> >
xHIyDdGbc54DV2amBms6AgKXa4nZghJRs3sYkBDASR5FyyCzSFYwF5b2EXdJPCivzV692mk4IIVk
> >
wAytZNnfo/a2dqDz91pIp/nGdZFgzilf2abQ7UA0Y7Uf8VH64MPOqPvT5esFLRc0h2pd0Rxf13R1
> >
Sa/pcrE4y+eTfK4n8evD8Tjgao0S+HO7v2fr0fKBfL0NCOoPitrcd/4dS+Z4oyye3W4M9jyrsFer
> >
iyV0eXD1pWlycnNQoizeYluBOhcoseTW1O0FyIXB+PSmBLdrd6/GgsUZmZ6kSf9O+YvnB0KS/Olr
> >
MH949Y5o9D+kNee0fhxFzq30T8pN+A4eKA35Hd5Viki9tsFMHxb4vrjQaTP+pHNW824duvqHagQ6
> >
a1+RwNZGF47mf0pfOsk4ehOpwTd+8dDqkYv7YlAZlHFYR51/0mZ1D2mMr1Qdllu7ul8V9G+6V8uB
> > PV4qB70oegPz0MosLG14zrj/9L3W2bePym3wYjoI8jBNk4dpwg3uO8TO/gdjIenk+QoAAA==
> >
> > --Boundary_(ID_12ycl1ai8tjpRxnKRlD/1g)
> > MIME-version: 1.0
> > Content-type: text/plain; charset=us-ascii
> > Content-transfer-encoding: 7BIT
> >
> >
> >
> > --Boundary_(ID_12ycl1ai8tjpRxnKRlD/1g)--
>
>




More information about the Squeak-dev mailing list