Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
December 2013
- 87 participants
- 1533 messages
Re: [Pharo-dev] Which tests should be run in CI?
by Chris Cunningham
If it is a compatibility layer, then now that Pharo has it's own #package,
shouldn't the Pharo version of Grease just not include it anymore? Once
the various Smalltalks start to implement what it is claiming it wants, the
compatibility layer for that dialect should change, I would think. So,
Seaside should still use #packages, but on Pharo, it gets the native
#packages results.
This assumes that what Grease wants out of package is what Pharo provides -
and it is possible that Grease will need different compatibility artifacts
to make the Pharo results match what Grease expects.
I would think from a Grease perspective, the ideal world is to have nothing
left in Grease at all because all of the dialects have implemented
everything they want, in at least the minimal way they wanted. As a step
towards that, having one dialect removing the need for Grease would also be
a big, happy step forward.
-cbc
On Thu, Dec 12, 2013 at 9:07 AM, Stephan Eggermont <stephan(a)stack.nl> wrote:
> Doru wrote:
> >This is clearly an issue of Grease. And it is not essential either as
> there are no senders to it.
>
> There are senders in Seaside. They look not so difficult to change.
>
> >So, I see no reason not to rename it in Grease.
>
> It is a compatibility layer, so you wouldn't be able to know looking only
> from Pharo.
>
> Stephan
>
>
>
Dec. 12, 2013
Re: [Pharo-dev] Which tests should be run in CI?
by Stephan Eggermont
Doru wrote:
>This is clearly an issue of Grease. And it is not essential either as there are no senders to it.
There are senders in Seaside. They look not so difficult to change.
>So, I see no reason not to rename it in Grease.
It is a compatibility layer, so you wouldn't be able to know looking only from Pharo.
Stephan
Dec. 12, 2013
Re: [Pharo-dev] Which tests should be run in CI?
by Stephan Eggermont
Stef wrote:
> Doru wrote:
>> We need to reconsider how we approach continuous integration for pharo-based images.
>can you expand ?
The most important thing, from my POV, is to not break things silently when cleaning up
the system. Having a system integration test that tells you you are no longer supposed
to have >>packages methods, makes things easier to fix.
Should we tag tests with <integration> to make clear what tests are expected to be run
in the 'leaf' builds?
Marcus wrote:
>But *Grease* still is the problem: in the tradition of the wonderful philosophy âLets keep all smalltalk crappy
>and provide some layer on topâ, it redefines #package and therefore requires that no Smalltalk ever
>implements #packages on the class side to return the system concept of package.
That's not a really helpful remark. The purpose of Grease is to provide a compatibility layer to let a.o.
Seaside and Magritte work on as many Smalltalks as possible. In 2009, using a class-side packages
method in GRPackage was not a bad idea, AFAIK. The name was not claimed,
and later used by several other classes.
By not having a test claiming the use of >>packages for RPackage, (and you might ask,
why not rPackages?), and having lots of old flag: #todo code in RPackage, it is not
easy for Grease maintainers to find out that that renaming is the obvious thing to do.
It is part of the Grease API, and making changes there always involves checking all platforms.
AFAIK, no maintainer has regular access to all platforms.
Stephan
Dec. 12, 2013
Re: [Pharo-dev] Tell me about your workflow
by GOUBIER Thierry
Thanks for the pointers.
I'll look at Seaside/Moose/Mondrian and Roassal, because I need code I can load and save in an image without destroying the very image I use to test (which would happen if I load Pharo10 stuff in a 3.0 image ;) ).
Thierry
________________________________
De : Pharo-dev [pharo-dev-bounces(a)lists.pharo.org] de la part de Yuriy Tymchuk [yuriy.tymchuk(a)me.com]
Date d'envoi : jeudi 12 décembre 2013 16:24
à : Pharo Development List
Objet : Re: [Pharo-dev] Tell me about your workflow
So if you want something big and with a lot of commits you can use Pharo* in general. Pharo10 has the most versions and Pharo30Inbox is the largest one. If you want some other projects then you heve to take a look at Seaside30, Mondrian, Moose, Glamour or Roassal.
Uko
On 12 Dec 2013, at 16:20, Yuriy Tymchuk <yuriy.tymchuk(a)me.com<mailto:yuriy.tymchuk@me.com>> wrote:
Pharo10 on SmalltalkHub is humongous. You can definitely do a stress test with it :)
Uko
On 12 Dec 2013, at 15:43, GOUBIER Thierry <thierry.goubier(a)cea.fr<mailto:thierry.goubier@cea.fr>> wrote:
I would need a large project, composed of one or more packages, with more than 150~200 classes, which triggers the slow read and writing times Sebastian experience. And, probably, to be complete, a long and complex commit history in git (> 100 commits).
I'll keep in mind the idea of creating one randomly ;)
Thierry
________________________________
De : Pharo-dev [pharo-dev-bounces(a)lists.pharo.org<mailto:pharo-dev-bounces@lists.pharo.org>] de la part de Yuriy Tymchuk [yuriy.tymchuk(a)me.com<mailto:yuriy.tymchuk@me.com>]
Date d'envoi : jeudi 12 décembre 2013 15:37
à : Pharo Development List
Objet : Re: [Pharo-dev] Tell me about your workflow
Are you interested in a package or a project? I can provide you information based on size, etcâ¦
Uko
On 12 Dec 2013, at 15:30, GOUBIER Thierry <thierry.goubier(a)cea.fr<mailto:thierry.goubier@cea.fr>> wrote:
I gave up running gitfiletree on 1.4 :(
It's possible to use gitfiletree from a 2.0 or a 3.0 image to browse your git repository, but testing the writing will be an issue.
My best chance would be to find a large enough package I can use on 2.0 or 3.0 to test and profile. Does anybody has a large enough package which could fit? Anything that doesn't require a NDA to read it, of course. Is Roassal large enough?
Thierry
________________________________
De : Pharo-dev [pharo-dev-bounces(a)lists.pharo.org<mailto:pharo-dev-bounces@lists.pharo.org>] de la part de Sebastian Sastre [sebastian(a)flowingconcept.com<mailto:sebastian@flowingconcept.com>]
Date d'envoi : jeudi 12 décembre 2013 12:12
à : Pharo Development List
Objet : Re: [Pharo-dev] Tell me about your workflow
gee the big code package is airflowing which I have, quite conservatively, running on #14438 images
I load filetree like this:
Gofer new
url: 'http://ss3.gemstone.com/ss/FileTree';
package: 'ConfigurationOfFileTree';
load.
((Smalltalk at: #ConfigurationOfFileTree) project version: #'stable') load.
and it never complained
let me know
On Dec 12, 2013, at 3:53 AM, GOUBIER Thierry <thierry.goubier(a)cea.fr<mailto:thierry.goubier@cea.fr>> wrote:
If you would be ready to profile a package save on your repository, it would be great. In the mean time, I'll make available a special gitfiletree package to test. Which version of Pharo you are using? 2.0 or 3.0?
Regards,
Thierry
________________________________
De : Pharo-dev [pharo-dev-bounces(a)lists.pharo.org<mailto:pharo-dev-bounces@lists.pharo.org>] de la part de Sebastian Sastre [sebastian(a)flowingconcept.com<mailto:sebastian@flowingconcept.com>]
Date d'envoi : mercredi 11 décembre 2013 17:09
à : Pharo Development List
Objet : Re: [Pharo-dev] Tell me about your workflow
ok, if saving is dumping all, then 3 is confirmed? After the first commit, I'd say so.
about 2, I don't know. I'm available to make tests and measure results
have a nice trip, keep us tuned about any progress
On Dec 11, 2013, at 2:09 PM, Goubier Thierry <thierry.goubier(a)cea.fr<mailto:thierry.goubier@cea.fr>> wrote:
Yes, you're right in the general case.
But a solution to that general problem will take time to be implemented (time I lack at the moment, sadly) and if the main gain is a few % because it's writing the version file and the metadata for methods which are the "slow" factors, then we'll have worked hard for nothing.
If you want to help, I'd really like to see either 2- or 3- confirmed. I can produce a special gitfiletree to remove writing the metadata, that you can try on a large project temporary copy; if the slow writing (and reading) is confirmed, then this is 3-
(But I'm leaving on a trip tomorrow early, so I have no idea of when I'll have the time to do that :( ).
Thierry
Le 11/12/2013 16:44, Sebastian Sastre a écrit :
Without entering in details, a cause for slow package write is dumping
all every time.
For that strategy, we already have the image save which is magically fast.
So, if we make something to scan the code and write only when it's
different from what's on disk, then we would be preventing tons of
redundant writes
sebastian <https://about.me/sebastianconcept>
o/
On Dec 11, 2013, at 1:43 PM, Goubier Thierry <thierry.goubier(a)cea.fr<mailto:thierry.goubier@cea.fr>
<mailto:thierry.goubier@cea.fr>> wrote:
Le 11/12/2013 16:27, Esteban Lorenzano a écrit :
ah, and IMHO the problem is not about reading... is about writing (if it
has to write the metadata each time...).
But, personnaly, I don't know if this is the reason for the lack of
performance...
I have three hypothesis for Sebastian problem:
1 - Slow read time for version metadata
- Confirmed because of the 16 seconds wait time for reading the
package metadata in the repository browser.
2 - Slow metadata write
3 - Slow package write
I have an implemented solution for 1-, a very easy to implement for
2-, and none yet for 3-
So I'd really like to check if 3- is confirmed ;)
Thierry
Esteban
On Wed, Dec 11, 2013 at 4:24 PM, Esteban Lorenzano
<estebanlm(a)gmail.com<mailto:estebanlm@gmail.com> <mailto:estebanlm@gmail.com>
<mailto:estebanlm@gmail.com>> wrote:
Thierry, I know there is a working version... let me search...
(5 mins later)
here:
https://github.com/rjsargent/CypressReferenceImplementation
Dale says Richard made a metadata-less version.
We should take a look at that.
Esteban
On Wed, Dec 11, 2013 at 4:28 PM, Goubier Thierry
<thierry.goubier(a)cea.fr<mailto:thierry.goubier@cea.fr>
<mailto:thierry.goubier@cea.fr><mailto:thierry.goubier@cea.fr>> wrote:
Esteban, Sebastian,
In the filetree code, you will find a format without metadata,
but it's not in use anymore.
If you use gitfiletree, it will write the metadata for
compatibility reasons with filetree, but it will never read it
back.
I'm pushing code to make filetree robust to absence of metadata,
but I haven't worked on it for a while.
gitfiletree has solved the problem of a slow metadata read. It
does not solve any performance problem associated with
writing, yet.
Thierry
Le 11/12/2013 16:12, Esteban Lorenzano a écrit :
I know there is a version of filetree without metadata (more
compelling
for projects that will never use other formats).
Dale told me that there was a preview somewhere, but I
didn't tested yet
(lack of time) and now I cannot find the mail...
Dale, can you re-send the link?
cheers,
Esteban
On Wed, Dec 11, 2013 at 4:08 PM, Sebastian Sastre
<sebastian(a)flowingconcept.com<mailto:sebastian@flowingconcept.com>
<mailto:sebastian@flowingconcept.com>
<mailto:sebastian@flowingconcept.com>
<mailto:sebastian@__flowingconcept.com
<mailto:sebastian@flowingconcept.com>>> wrote:
I should breath before I type, but you probably already
got that I
meant /redundant writes/ (not reads)...
Anyway.. I was talking with Esteban and he mentions
some kind of
compatibility metadata.
If I'm going to give a leap of faith to filetree repos
to save code
why should I care about mcz compatibility? Paying a
toll for no
reason is evil.
Maybe we could make that optional so those who don't
extract value
from that feature can opt-out?
sebastian <https://about.me/__sebastianconcept
<https://about.me/sebastianconcept>>
o/
On Dec 11, 2013, at 12:44 PM, Sebastian Sastre
<sebastian(a)flowingconcept.com<mailto:sebastian@flowingconcept.com>
<mailto:sebastian@flowingconcept.com>
<mailto:sebastian@flowingconcept.com>
<mailto:sebastian@__flowingconcept.com
<mailto:sebastian@flowingconcept.com>>>
wrote:
Hi Thierry
On Dec 11, 2013, at 12:43 PM, Goubier Thierry
<thierry.goubier(a)cea.fr<mailto:thierry.goubier@cea.fr>
<mailto:thierry.goubier@cea.fr>
<mailto:thierry.goubier@cea.fr>
<mailto:thierry.goubier@cea.fr
<mailto:thierry.goubier@cea.fr>__>> wrote:
I have packages (in the order of hundreds
of classes) and save
delays
and package click delays are starting to
demand patience in a
way that
doesn't feel like the right path
Which operations ? I didn't remember noticing
much with 179
classes on a laptop without a SSD.
choose one. Just for clicking the package that will
should you
UUID, version and author I need to wait ~16
seconds. Sounds like a
lot of overhead for reading a small .json file.
But the write is the most worrisome
All that is with a SSD disk, otherwise save
delays would be
/way/ beyond
unacceptable
I'd like to know more, and understand the
reason, for sure. As
far as I know, filetree will rewrite the whole
package to disk
everytime... and maybe optimising that could be
the solution.
Well, that explains a lot. Writing all every time
is the lazy
thing that's okay for a prototype and temporary
code in a proof of
concept but that massive redundant reads certainly
doesn't sounds
like pro software. Specially for SSD's which has a
limited
quantity of writes
Thierry
sebastian
<https://about.me/__sebastianconcept
<https://about.me/sebastianconcept>>
o/
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps
Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92
<tel:%2B33%20%280%29%201%2069%2008%2032%2092>
<tel:%2B33%20%280%29%201%2069%__2008%2032%2092>
/ 83 95
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92
<tel:%2B33%20%280%29%201%2069%2008%2032%2092> / 83 95
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95
--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95
Dec. 12, 2013
Re: [Pharo-dev] the athens tutorial is not working in latest 30.
by Igor Stasenko
Yes.
"AthensTutorial open"
meets DNU,
something related to spec.. I have no idea why it stopped working, but this
is related to changes in Spec.
On 12 December 2013 15:22, Stéphane Ducasse <stephane.ducasse(a)inria.fr>wrote:
>
>
>
--
Best regards,
Igor Stasenko.
Dec. 12, 2013
Re: [Pharo-dev] Tell me about your workflow
by Yuriy Tymchuk
And yes, we miss this data on Smalltalkhub. But I have some suggestions as always :). Will reveal them next week.
Uko
On 12 Dec 2013, at 16:20, Yuriy Tymchuk <yuriy.tymchuk(a)me.com> wrote:
> Pharo10 on SmalltalkHub is humongous. You can definitely do a stress test with it :)
>
> Uko
>
> On 12 Dec 2013, at 15:43, GOUBIER Thierry <thierry.goubier(a)cea.fr> wrote:
>
>> I would need a large project, composed of one or more packages, with more than 150~200 classes, which triggers the slow read and writing times Sebastian experience. And, probably, to be complete, a long and complex commit history in git (> 100 commits).
>>
>> I'll keep in mind the idea of creating one randomly ;)
>>
>> Thierry
>>
>> De : Pharo-dev [pharo-dev-bounces(a)lists.pharo.org] de la part de Yuriy Tymchuk [yuriy.tymchuk(a)me.com]
>> Date d'envoi : jeudi 12 décembre 2013 15:37
>> Ã : Pharo Development List
>> Objet : Re: [Pharo-dev] Tell me about your workflow
>>
>> Are you interested in a package or a project? I can provide you information based on size, etcâ¦
>>
>> Uko
>>
>> On 12 Dec 2013, at 15:30, GOUBIER Thierry <thierry.goubier(a)cea.fr> wrote:
>>
>>> I gave up running gitfiletree on 1.4 :(
>>>
>>> It's possible to use gitfiletree from a 2.0 or a 3.0 image to browse your git repository, but testing the writing will be an issue.
>>>
>>> My best chance would be to find a large enough package I can use on 2.0 or 3.0 to test and profile. Does anybody has a large enough package which could fit? Anything that doesn't require a NDA to read it, of course. Is Roassal large enough?
>>>
>>> Thierry
>>>
>>> De : Pharo-dev [pharo-dev-bounces(a)lists.pharo.org] de la part de Sebastian Sastre [sebastian(a)flowingconcept.com]
>>> Date d'envoi : jeudi 12 décembre 2013 12:12
>>> Ã : Pharo Development List
>>> Objet : Re: [Pharo-dev] Tell me about your workflow
>>>
>>> gee the big code package is airflowing which I have, quite conservatively, running on #14438 images
>>>
>>> I load filetree like this:
>>>
>>> Gofer new
>>> url: 'http://ss3.gemstone.com/ss/FileTree';
>>> package: 'ConfigurationOfFileTree';
>>> load.
>>> ((Smalltalk at: #ConfigurationOfFileTree) project version: #'stable') load.
>>>
>>> and it never complained
>>>
>>> let me know
>>>
>>>
>>>
>>>
>>>
>>> On Dec 12, 2013, at 3:53 AM, GOUBIER Thierry <thierry.goubier(a)cea.fr> wrote:
>>>
>>>> If you would be ready to profile a package save on your repository, it would be great. In the mean time, I'll make available a special gitfiletree package to test. Which version of Pharo you are using? 2.0 or 3.0?
>>>>
>>>> Regards,
>>>>
>>>> Thierry
>>>>
>>>>
>>>> De : Pharo-dev [pharo-dev-bounces(a)lists.pharo.org] de la part de Sebastian Sastre [sebastian(a)flowingconcept.com]
>>>> Date d'envoi : mercredi 11 décembre 2013 17:09
>>>> Ã : Pharo Development List
>>>> Objet : Re: [Pharo-dev] Tell me about your workflow
>>>>
>>>> ok, if saving is dumping all, then 3 is confirmed? After the first commit, I'd say so.
>>>>
>>>> about 2, I don't know. I'm available to make tests and measure results
>>>>
>>>> have a nice trip, keep us tuned about any progress
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Dec 11, 2013, at 2:09 PM, Goubier Thierry <thierry.goubier(a)cea.fr> wrote:
>>>>
>>>>> Yes, you're right in the general case.
>>>>>
>>>>> But a solution to that general problem will take time to be implemented (time I lack at the moment, sadly) and if the main gain is a few % because it's writing the version file and the metadata for methods which are the "slow" factors, then we'll have worked hard for nothing.
>>>>>
>>>>> If you want to help, I'd really like to see either 2- or 3- confirmed. I can produce a special gitfiletree to remove writing the metadata, that you can try on a large project temporary copy; if the slow writing (and reading) is confirmed, then this is 3-
>>>>>
>>>>> (But I'm leaving on a trip tomorrow early, so I have no idea of when I'll have the time to do that :( ).
>>>>>
>>>>> Thierry
>>>>>
>>>>> Le 11/12/2013 16:44, Sebastian Sastre a écrit :
>>>>>> Without entering in details, a cause for slow package write is dumping
>>>>>> all every time.
>>>>>>
>>>>>> For that strategy, we already have the image save which is magically fast.
>>>>>>
>>>>>> So, if we make something to scan the code and write only when it's
>>>>>> different from what's on disk, then we would be preventing tons of
>>>>>> redundant writes
>>>>>>
>>>>>> sebastian <https://about.me/sebastianconcept>
>>>>>>
>>>>>> o/
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Dec 11, 2013, at 1:43 PM, Goubier Thierry <thierry.goubier(a)cea.fr
>>>>>> <mailto:thierry.goubier@cea.fr>> wrote:
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Le 11/12/2013 16:27, Esteban Lorenzano a écrit :
>>>>>>>> ah, and IMHO the problem is not about reading... is about writing (if it
>>>>>>>> has to write the metadata each time...).
>>>>>>>
>>>>>>> But, personnaly, I don't know if this is the reason for the lack of
>>>>>>> performance...
>>>>>>>
>>>>>>> I have three hypothesis for Sebastian problem:
>>>>>>> 1 - Slow read time for version metadata
>>>>>>> - Confirmed because of the 16 seconds wait time for reading the
>>>>>>> package metadata in the repository browser.
>>>>>>> 2 - Slow metadata write
>>>>>>> 3 - Slow package write
>>>>>>>
>>>>>>> I have an implemented solution for 1-, a very easy to implement for
>>>>>>> 2-, and none yet for 3-
>>>>>>>
>>>>>>> So I'd really like to check if 3- is confirmed ;)
>>>>>>>
>>>>>>> Thierry
>>>>>>>
>>>>>>>>
>>>>>>>> Esteban
>>>>>>>>
>>>>>>>>
>>>>>>>> On Wed, Dec 11, 2013 at 4:24 PM, Esteban Lorenzano
>>>>>>>> <estebanlm(a)gmail.com <mailto:estebanlm@gmail.com>
>>>>>>>> <mailto:estebanlm@gmail.com>> wrote:
>>>>>>>>
>>>>>>>> Thierry, I know there is a working version... let me search...
>>>>>>>>
>>>>>>>> (5 mins later)
>>>>>>>>
>>>>>>>>
>>>>>>>> here:
>>>>>>>>
>>>>>>>> https://github.com/rjsargent/CypressReferenceImplementation
>>>>>>>>
>>>>>>>> Dale says Richard made a metadata-less version.
>>>>>>>>
>>>>>>>> We should take a look at that.
>>>>>>>>
>>>>>>>> Esteban
>>>>>>>>
>>>>>>>>
>>>>>>>> On Wed, Dec 11, 2013 at 4:28 PM, Goubier Thierry
>>>>>>>> <thierry.goubier(a)cea.fr
>>>>>>>> <mailto:thierry.goubier@cea.fr><mailto:thierry.goubier@cea.fr>> wrote:
>>>>>>>>
>>>>>>>> Esteban, Sebastian,
>>>>>>>>
>>>>>>>> In the filetree code, you will find a format without metadata,
>>>>>>>> but it's not in use anymore.
>>>>>>>>
>>>>>>>> If you use gitfiletree, it will write the metadata for
>>>>>>>> compatibility reasons with filetree, but it will never read it
>>>>>>>> back.
>>>>>>>>
>>>>>>>> I'm pushing code to make filetree robust to absence of metadata,
>>>>>>>> but I haven't worked on it for a while.
>>>>>>>>
>>>>>>>> gitfiletree has solved the problem of a slow metadata read. It
>>>>>>>> does not solve any performance problem associated with
>>>>>>>> writing, yet.
>>>>>>>>
>>>>>>>> Thierry
>>>>>>>>
>>>>>>>> Le 11/12/2013 16:12, Esteban Lorenzano a écrit :
>>>>>>>>
>>>>>>>> I know there is a version of filetree without metadata (more
>>>>>>>> compelling
>>>>>>>> for projects that will never use other formats).
>>>>>>>> Dale told me that there was a preview somewhere, but I
>>>>>>>> didn't tested yet
>>>>>>>> (lack of time) and now I cannot find the mail...
>>>>>>>> Dale, can you re-send the link?
>>>>>>>>
>>>>>>>> cheers,
>>>>>>>> Esteban
>>>>>>>>
>>>>>>>>
>>>>>>>> On Wed, Dec 11, 2013 at 4:08 PM, Sebastian Sastre
>>>>>>>> <sebastian(a)flowingconcept.com
>>>>>>>> <mailto:sebastian@flowingconcept.com>
>>>>>>>> <mailto:sebastian@flowingconcept.com>
>>>>>>>> <mailto:sebastian@__flowingconcept.com
>>>>>>>> <mailto:sebastian@flowingconcept.com>>> wrote:
>>>>>>>>
>>>>>>>> I should breath before I type, but you probably already
>>>>>>>> got that I
>>>>>>>> meant /redundant writes/ (not reads)...
>>>>>>>>
>>>>>>>>
>>>>>>>> Anyway.. I was talking with Esteban and he mentions
>>>>>>>> some kind of
>>>>>>>> compatibility metadata.
>>>>>>>>
>>>>>>>> If I'm going to give a leap of faith to filetree repos
>>>>>>>> to save code
>>>>>>>> why should I care about mcz compatibility? Paying a
>>>>>>>> toll for no
>>>>>>>> reason is evil.
>>>>>>>>
>>>>>>>> Maybe we could make that optional so those who don't
>>>>>>>> extract value
>>>>>>>> from that feature can opt-out?
>>>>>>>>
>>>>>>>> sebastian <https://about.me/__sebastianconcept
>>>>>>>> <https://about.me/sebastianconcept>>
>>>>>>>>
>>>>>>>>
>>>>>>>> o/
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Dec 11, 2013, at 12:44 PM, Sebastian Sastre
>>>>>>>> <sebastian(a)flowingconcept.com
>>>>>>>> <mailto:sebastian@flowingconcept.com>
>>>>>>>> <mailto:sebastian@flowingconcept.com>
>>>>>>>> <mailto:sebastian@__flowingconcept.com
>>>>>>>> <mailto:sebastian@flowingconcept.com>>>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>> Hi Thierry
>>>>>>>>
>>>>>>>> On Dec 11, 2013, at 12:43 PM, Goubier Thierry
>>>>>>>> <thierry.goubier(a)cea.fr
>>>>>>>> <mailto:thierry.goubier@cea.fr>
>>>>>>>> <mailto:thierry.goubier@cea.fr>
>>>>>>>> <mailto:thierry.goubier@cea.fr
>>>>>>>> <mailto:thierry.goubier@cea.fr>__>> wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>> I have packages (in the order of hundreds
>>>>>>>> of classes) and save
>>>>>>>> delays
>>>>>>>> and package click delays are starting to
>>>>>>>> demand patience in a
>>>>>>>> way that
>>>>>>>> doesn't feel like the right path
>>>>>>>>
>>>>>>>>
>>>>>>>> Which operations ? I didn't remember noticing
>>>>>>>> much with 179
>>>>>>>> classes on a laptop without a SSD.
>>>>>>>>
>>>>>>>>
>>>>>>>> choose one. Just for clicking the package that will
>>>>>>>> should you
>>>>>>>> UUID, version and author I need to wait ~16
>>>>>>>> seconds. Sounds like a
>>>>>>>> lot of overhead for reading a small .json file.
>>>>>>>>
>>>>>>>> But the write is the most worrisome
>>>>>>>>
>>>>>>>>
>>>>>>>> All that is with a SSD disk, otherwise save
>>>>>>>> delays would be
>>>>>>>> /way/ beyond
>>>>>>>> unacceptable
>>>>>>>>
>>>>>>>>
>>>>>>>> I'd like to know more, and understand the
>>>>>>>> reason, for sure. As
>>>>>>>> far as I know, filetree will rewrite the whole
>>>>>>>> package to disk
>>>>>>>> everytime... and maybe optimising that could be
>>>>>>>> the solution.
>>>>>>>>
>>>>>>>>
>>>>>>>> Well, that explains a lot. Writing all every time
>>>>>>>> is the lazy
>>>>>>>> thing that's okay for a prototype and temporary
>>>>>>>> code in a proof of
>>>>>>>> concept but that massive redundant reads certainly
>>>>>>>> doesn't sounds
>>>>>>>> like pro software. Specially for SSD's which has a
>>>>>>>> limited
>>>>>>>> quantity of writes
>>>>>>>>
>>>>>>>>
>>>>>>>> Thierry
>>>>>>>>
>>>>>>>> sebastian
>>>>>>>> <https://about.me/__sebastianconcept
>>>>>>>> <https://about.me/sebastianconcept>>
>>>>>>>>
>>>>>>>> o/
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Thierry Goubier
>>>>>>>> CEA list
>>>>>>>> Laboratoire des Fondations des Systèmes Temps
>>>>>>>> Réel Embarqués
>>>>>>>> 91191 Gif sur Yvette Cedex
>>>>>>>> France
>>>>>>>> Phone/Fax: +33 (0) 1 69 08 32 92
>>>>>>>> <tel:%2B33%20%280%29%201%2069%2008%2032%2092>
>>>>>>>> <tel:%2B33%20%280%29%201%2069%__2008%2032%2092>
>>>>>>>> / 83 95
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Thierry Goubier
>>>>>>>> CEA list
>>>>>>>> Laboratoire des Fondations des Systèmes Temps Réel Embarqués
>>>>>>>> 91191 Gif sur Yvette Cedex
>>>>>>>> France
>>>>>>>> Phone/Fax: +33 (0) 1 69 08 32 92
>>>>>>>> <tel:%2B33%20%280%29%201%2069%2008%2032%2092> / 83 95
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Thierry Goubier
>>>>>>> CEA list
>>>>>>> Laboratoire des Fondations des Systèmes Temps Réel Embarqués
>>>>>>> 91191 Gif sur Yvette Cedex
>>>>>>> France
>>>>>>> Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95
>>>>>>
>>>>>
>>>>> --
>>>>> Thierry Goubier
>>>>> CEA list
>>>>> Laboratoire des Fondations des Systèmes Temps Réel Embarqués
>>>>> 91191 Gif sur Yvette Cedex
>>>>> France
>>>>> Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95
>
Dec. 12, 2013
Re: [Pharo-dev] Tell me about your workflow
by Yuriy Tymchuk
So if you want something big and with a lot of commits you can use Pharo* in general. Pharo10 has the most versions and Pharo30Inbox is the largest one. If you want some other projects then you heve to take a look at Seaside30, Mondrian, Moose, Glamour or Roassal.
Uko
On 12 Dec 2013, at 16:20, Yuriy Tymchuk <yuriy.tymchuk(a)me.com> wrote:
> Pharo10 on SmalltalkHub is humongous. You can definitely do a stress test with it :)
>
> Uko
>
> On 12 Dec 2013, at 15:43, GOUBIER Thierry <thierry.goubier(a)cea.fr> wrote:
>
>> I would need a large project, composed of one or more packages, with more than 150~200 classes, which triggers the slow read and writing times Sebastian experience. And, probably, to be complete, a long and complex commit history in git (> 100 commits).
>>
>> I'll keep in mind the idea of creating one randomly ;)
>>
>> Thierry
>>
>> De : Pharo-dev [pharo-dev-bounces(a)lists.pharo.org] de la part de Yuriy Tymchuk [yuriy.tymchuk(a)me.com]
>> Date d'envoi : jeudi 12 décembre 2013 15:37
>> Ã : Pharo Development List
>> Objet : Re: [Pharo-dev] Tell me about your workflow
>>
>> Are you interested in a package or a project? I can provide you information based on size, etcâ¦
>>
>> Uko
>>
>> On 12 Dec 2013, at 15:30, GOUBIER Thierry <thierry.goubier(a)cea.fr> wrote:
>>
>>> I gave up running gitfiletree on 1.4 :(
>>>
>>> It's possible to use gitfiletree from a 2.0 or a 3.0 image to browse your git repository, but testing the writing will be an issue.
>>>
>>> My best chance would be to find a large enough package I can use on 2.0 or 3.0 to test and profile. Does anybody has a large enough package which could fit? Anything that doesn't require a NDA to read it, of course. Is Roassal large enough?
>>>
>>> Thierry
>>>
>>> De : Pharo-dev [pharo-dev-bounces(a)lists.pharo.org] de la part de Sebastian Sastre [sebastian(a)flowingconcept.com]
>>> Date d'envoi : jeudi 12 décembre 2013 12:12
>>> Ã : Pharo Development List
>>> Objet : Re: [Pharo-dev] Tell me about your workflow
>>>
>>> gee the big code package is airflowing which I have, quite conservatively, running on #14438 images
>>>
>>> I load filetree like this:
>>>
>>> Gofer new
>>> url: 'http://ss3.gemstone.com/ss/FileTree';
>>> package: 'ConfigurationOfFileTree';
>>> load.
>>> ((Smalltalk at: #ConfigurationOfFileTree) project version: #'stable') load.
>>>
>>> and it never complained
>>>
>>> let me know
>>>
>>>
>>>
>>>
>>>
>>> On Dec 12, 2013, at 3:53 AM, GOUBIER Thierry <thierry.goubier(a)cea.fr> wrote:
>>>
>>>> If you would be ready to profile a package save on your repository, it would be great. In the mean time, I'll make available a special gitfiletree package to test. Which version of Pharo you are using? 2.0 or 3.0?
>>>>
>>>> Regards,
>>>>
>>>> Thierry
>>>>
>>>>
>>>> De : Pharo-dev [pharo-dev-bounces(a)lists.pharo.org] de la part de Sebastian Sastre [sebastian(a)flowingconcept.com]
>>>> Date d'envoi : mercredi 11 décembre 2013 17:09
>>>> Ã : Pharo Development List
>>>> Objet : Re: [Pharo-dev] Tell me about your workflow
>>>>
>>>> ok, if saving is dumping all, then 3 is confirmed? After the first commit, I'd say so.
>>>>
>>>> about 2, I don't know. I'm available to make tests and measure results
>>>>
>>>> have a nice trip, keep us tuned about any progress
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Dec 11, 2013, at 2:09 PM, Goubier Thierry <thierry.goubier(a)cea.fr> wrote:
>>>>
>>>>> Yes, you're right in the general case.
>>>>>
>>>>> But a solution to that general problem will take time to be implemented (time I lack at the moment, sadly) and if the main gain is a few % because it's writing the version file and the metadata for methods which are the "slow" factors, then we'll have worked hard for nothing.
>>>>>
>>>>> If you want to help, I'd really like to see either 2- or 3- confirmed. I can produce a special gitfiletree to remove writing the metadata, that you can try on a large project temporary copy; if the slow writing (and reading) is confirmed, then this is 3-
>>>>>
>>>>> (But I'm leaving on a trip tomorrow early, so I have no idea of when I'll have the time to do that :( ).
>>>>>
>>>>> Thierry
>>>>>
>>>>> Le 11/12/2013 16:44, Sebastian Sastre a écrit :
>>>>>> Without entering in details, a cause for slow package write is dumping
>>>>>> all every time.
>>>>>>
>>>>>> For that strategy, we already have the image save which is magically fast.
>>>>>>
>>>>>> So, if we make something to scan the code and write only when it's
>>>>>> different from what's on disk, then we would be preventing tons of
>>>>>> redundant writes
>>>>>>
>>>>>> sebastian <https://about.me/sebastianconcept>
>>>>>>
>>>>>> o/
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Dec 11, 2013, at 1:43 PM, Goubier Thierry <thierry.goubier(a)cea.fr
>>>>>> <mailto:thierry.goubier@cea.fr>> wrote:
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Le 11/12/2013 16:27, Esteban Lorenzano a écrit :
>>>>>>>> ah, and IMHO the problem is not about reading... is about writing (if it
>>>>>>>> has to write the metadata each time...).
>>>>>>>
>>>>>>> But, personnaly, I don't know if this is the reason for the lack of
>>>>>>> performance...
>>>>>>>
>>>>>>> I have three hypothesis for Sebastian problem:
>>>>>>> 1 - Slow read time for version metadata
>>>>>>> - Confirmed because of the 16 seconds wait time for reading the
>>>>>>> package metadata in the repository browser.
>>>>>>> 2 - Slow metadata write
>>>>>>> 3 - Slow package write
>>>>>>>
>>>>>>> I have an implemented solution for 1-, a very easy to implement for
>>>>>>> 2-, and none yet for 3-
>>>>>>>
>>>>>>> So I'd really like to check if 3- is confirmed ;)
>>>>>>>
>>>>>>> Thierry
>>>>>>>
>>>>>>>>
>>>>>>>> Esteban
>>>>>>>>
>>>>>>>>
>>>>>>>> On Wed, Dec 11, 2013 at 4:24 PM, Esteban Lorenzano
>>>>>>>> <estebanlm(a)gmail.com <mailto:estebanlm@gmail.com>
>>>>>>>> <mailto:estebanlm@gmail.com>> wrote:
>>>>>>>>
>>>>>>>> Thierry, I know there is a working version... let me search...
>>>>>>>>
>>>>>>>> (5 mins later)
>>>>>>>>
>>>>>>>>
>>>>>>>> here:
>>>>>>>>
>>>>>>>> https://github.com/rjsargent/CypressReferenceImplementation
>>>>>>>>
>>>>>>>> Dale says Richard made a metadata-less version.
>>>>>>>>
>>>>>>>> We should take a look at that.
>>>>>>>>
>>>>>>>> Esteban
>>>>>>>>
>>>>>>>>
>>>>>>>> On Wed, Dec 11, 2013 at 4:28 PM, Goubier Thierry
>>>>>>>> <thierry.goubier(a)cea.fr
>>>>>>>> <mailto:thierry.goubier@cea.fr><mailto:thierry.goubier@cea.fr>> wrote:
>>>>>>>>
>>>>>>>> Esteban, Sebastian,
>>>>>>>>
>>>>>>>> In the filetree code, you will find a format without metadata,
>>>>>>>> but it's not in use anymore.
>>>>>>>>
>>>>>>>> If you use gitfiletree, it will write the metadata for
>>>>>>>> compatibility reasons with filetree, but it will never read it
>>>>>>>> back.
>>>>>>>>
>>>>>>>> I'm pushing code to make filetree robust to absence of metadata,
>>>>>>>> but I haven't worked on it for a while.
>>>>>>>>
>>>>>>>> gitfiletree has solved the problem of a slow metadata read. It
>>>>>>>> does not solve any performance problem associated with
>>>>>>>> writing, yet.
>>>>>>>>
>>>>>>>> Thierry
>>>>>>>>
>>>>>>>> Le 11/12/2013 16:12, Esteban Lorenzano a écrit :
>>>>>>>>
>>>>>>>> I know there is a version of filetree without metadata (more
>>>>>>>> compelling
>>>>>>>> for projects that will never use other formats).
>>>>>>>> Dale told me that there was a preview somewhere, but I
>>>>>>>> didn't tested yet
>>>>>>>> (lack of time) and now I cannot find the mail...
>>>>>>>> Dale, can you re-send the link?
>>>>>>>>
>>>>>>>> cheers,
>>>>>>>> Esteban
>>>>>>>>
>>>>>>>>
>>>>>>>> On Wed, Dec 11, 2013 at 4:08 PM, Sebastian Sastre
>>>>>>>> <sebastian(a)flowingconcept.com
>>>>>>>> <mailto:sebastian@flowingconcept.com>
>>>>>>>> <mailto:sebastian@flowingconcept.com>
>>>>>>>> <mailto:sebastian@__flowingconcept.com
>>>>>>>> <mailto:sebastian@flowingconcept.com>>> wrote:
>>>>>>>>
>>>>>>>> I should breath before I type, but you probably already
>>>>>>>> got that I
>>>>>>>> meant /redundant writes/ (not reads)...
>>>>>>>>
>>>>>>>>
>>>>>>>> Anyway.. I was talking with Esteban and he mentions
>>>>>>>> some kind of
>>>>>>>> compatibility metadata.
>>>>>>>>
>>>>>>>> If I'm going to give a leap of faith to filetree repos
>>>>>>>> to save code
>>>>>>>> why should I care about mcz compatibility? Paying a
>>>>>>>> toll for no
>>>>>>>> reason is evil.
>>>>>>>>
>>>>>>>> Maybe we could make that optional so those who don't
>>>>>>>> extract value
>>>>>>>> from that feature can opt-out?
>>>>>>>>
>>>>>>>> sebastian <https://about.me/__sebastianconcept
>>>>>>>> <https://about.me/sebastianconcept>>
>>>>>>>>
>>>>>>>>
>>>>>>>> o/
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Dec 11, 2013, at 12:44 PM, Sebastian Sastre
>>>>>>>> <sebastian(a)flowingconcept.com
>>>>>>>> <mailto:sebastian@flowingconcept.com>
>>>>>>>> <mailto:sebastian@flowingconcept.com>
>>>>>>>> <mailto:sebastian@__flowingconcept.com
>>>>>>>> <mailto:sebastian@flowingconcept.com>>>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>> Hi Thierry
>>>>>>>>
>>>>>>>> On Dec 11, 2013, at 12:43 PM, Goubier Thierry
>>>>>>>> <thierry.goubier(a)cea.fr
>>>>>>>> <mailto:thierry.goubier@cea.fr>
>>>>>>>> <mailto:thierry.goubier@cea.fr>
>>>>>>>> <mailto:thierry.goubier@cea.fr
>>>>>>>> <mailto:thierry.goubier@cea.fr>__>> wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>> I have packages (in the order of hundreds
>>>>>>>> of classes) and save
>>>>>>>> delays
>>>>>>>> and package click delays are starting to
>>>>>>>> demand patience in a
>>>>>>>> way that
>>>>>>>> doesn't feel like the right path
>>>>>>>>
>>>>>>>>
>>>>>>>> Which operations ? I didn't remember noticing
>>>>>>>> much with 179
>>>>>>>> classes on a laptop without a SSD.
>>>>>>>>
>>>>>>>>
>>>>>>>> choose one. Just for clicking the package that will
>>>>>>>> should you
>>>>>>>> UUID, version and author I need to wait ~16
>>>>>>>> seconds. Sounds like a
>>>>>>>> lot of overhead for reading a small .json file.
>>>>>>>>
>>>>>>>> But the write is the most worrisome
>>>>>>>>
>>>>>>>>
>>>>>>>> All that is with a SSD disk, otherwise save
>>>>>>>> delays would be
>>>>>>>> /way/ beyond
>>>>>>>> unacceptable
>>>>>>>>
>>>>>>>>
>>>>>>>> I'd like to know more, and understand the
>>>>>>>> reason, for sure. As
>>>>>>>> far as I know, filetree will rewrite the whole
>>>>>>>> package to disk
>>>>>>>> everytime... and maybe optimising that could be
>>>>>>>> the solution.
>>>>>>>>
>>>>>>>>
>>>>>>>> Well, that explains a lot. Writing all every time
>>>>>>>> is the lazy
>>>>>>>> thing that's okay for a prototype and temporary
>>>>>>>> code in a proof of
>>>>>>>> concept but that massive redundant reads certainly
>>>>>>>> doesn't sounds
>>>>>>>> like pro software. Specially for SSD's which has a
>>>>>>>> limited
>>>>>>>> quantity of writes
>>>>>>>>
>>>>>>>>
>>>>>>>> Thierry
>>>>>>>>
>>>>>>>> sebastian
>>>>>>>> <https://about.me/__sebastianconcept
>>>>>>>> <https://about.me/sebastianconcept>>
>>>>>>>>
>>>>>>>> o/
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Thierry Goubier
>>>>>>>> CEA list
>>>>>>>> Laboratoire des Fondations des Systèmes Temps
>>>>>>>> Réel Embarqués
>>>>>>>> 91191 Gif sur Yvette Cedex
>>>>>>>> France
>>>>>>>> Phone/Fax: +33 (0) 1 69 08 32 92
>>>>>>>> <tel:%2B33%20%280%29%201%2069%2008%2032%2092>
>>>>>>>> <tel:%2B33%20%280%29%201%2069%__2008%2032%2092>
>>>>>>>> / 83 95
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Thierry Goubier
>>>>>>>> CEA list
>>>>>>>> Laboratoire des Fondations des Systèmes Temps Réel Embarqués
>>>>>>>> 91191 Gif sur Yvette Cedex
>>>>>>>> France
>>>>>>>> Phone/Fax: +33 (0) 1 69 08 32 92
>>>>>>>> <tel:%2B33%20%280%29%201%2069%2008%2032%2092> / 83 95
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Thierry Goubier
>>>>>>> CEA list
>>>>>>> Laboratoire des Fondations des Systèmes Temps Réel Embarqués
>>>>>>> 91191 Gif sur Yvette Cedex
>>>>>>> France
>>>>>>> Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95
>>>>>>
>>>>>
>>>>> --
>>>>> Thierry Goubier
>>>>> CEA list
>>>>> Laboratoire des Fondations des Systèmes Temps Réel Embarqués
>>>>> 91191 Gif sur Yvette Cedex
>>>>> France
>>>>> Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95
>
Dec. 12, 2013
Re: [Pharo-dev] Tell me about your workflow
by Yuriy Tymchuk
Pharo10 on SmalltalkHub is humongous. You can definitely do a stress test with it :)
Uko
On 12 Dec 2013, at 15:43, GOUBIER Thierry <thierry.goubier(a)cea.fr> wrote:
> I would need a large project, composed of one or more packages, with more than 150~200 classes, which triggers the slow read and writing times Sebastian experience. And, probably, to be complete, a long and complex commit history in git (> 100 commits).
>
> I'll keep in mind the idea of creating one randomly ;)
>
> Thierry
>
> De : Pharo-dev [pharo-dev-bounces(a)lists.pharo.org] de la part de Yuriy Tymchuk [yuriy.tymchuk(a)me.com]
> Date d'envoi : jeudi 12 décembre 2013 15:37
> Ã : Pharo Development List
> Objet : Re: [Pharo-dev] Tell me about your workflow
>
> Are you interested in a package or a project? I can provide you information based on size, etcâ¦
>
> Uko
>
> On 12 Dec 2013, at 15:30, GOUBIER Thierry <thierry.goubier(a)cea.fr> wrote:
>
>> I gave up running gitfiletree on 1.4 :(
>>
>> It's possible to use gitfiletree from a 2.0 or a 3.0 image to browse your git repository, but testing the writing will be an issue.
>>
>> My best chance would be to find a large enough package I can use on 2.0 or 3.0 to test and profile. Does anybody has a large enough package which could fit? Anything that doesn't require a NDA to read it, of course. Is Roassal large enough?
>>
>> Thierry
>>
>> De : Pharo-dev [pharo-dev-bounces(a)lists.pharo.org] de la part de Sebastian Sastre [sebastian(a)flowingconcept.com]
>> Date d'envoi : jeudi 12 décembre 2013 12:12
>> Ã : Pharo Development List
>> Objet : Re: [Pharo-dev] Tell me about your workflow
>>
>> gee the big code package is airflowing which I have, quite conservatively, running on #14438 images
>>
>> I load filetree like this:
>>
>> Gofer new
>> url: 'http://ss3.gemstone.com/ss/FileTree';
>> package: 'ConfigurationOfFileTree';
>> load.
>> ((Smalltalk at: #ConfigurationOfFileTree) project version: #'stable') load.
>>
>> and it never complained
>>
>> let me know
>>
>>
>>
>>
>>
>> On Dec 12, 2013, at 3:53 AM, GOUBIER Thierry <thierry.goubier(a)cea.fr> wrote:
>>
>>> If you would be ready to profile a package save on your repository, it would be great. In the mean time, I'll make available a special gitfiletree package to test. Which version of Pharo you are using? 2.0 or 3.0?
>>>
>>> Regards,
>>>
>>> Thierry
>>>
>>>
>>> De : Pharo-dev [pharo-dev-bounces(a)lists.pharo.org] de la part de Sebastian Sastre [sebastian(a)flowingconcept.com]
>>> Date d'envoi : mercredi 11 décembre 2013 17:09
>>> Ã : Pharo Development List
>>> Objet : Re: [Pharo-dev] Tell me about your workflow
>>>
>>> ok, if saving is dumping all, then 3 is confirmed? After the first commit, I'd say so.
>>>
>>> about 2, I don't know. I'm available to make tests and measure results
>>>
>>> have a nice trip, keep us tuned about any progress
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> On Dec 11, 2013, at 2:09 PM, Goubier Thierry <thierry.goubier(a)cea.fr> wrote:
>>>
>>>> Yes, you're right in the general case.
>>>>
>>>> But a solution to that general problem will take time to be implemented (time I lack at the moment, sadly) and if the main gain is a few % because it's writing the version file and the metadata for methods which are the "slow" factors, then we'll have worked hard for nothing.
>>>>
>>>> If you want to help, I'd really like to see either 2- or 3- confirmed. I can produce a special gitfiletree to remove writing the metadata, that you can try on a large project temporary copy; if the slow writing (and reading) is confirmed, then this is 3-
>>>>
>>>> (But I'm leaving on a trip tomorrow early, so I have no idea of when I'll have the time to do that :( ).
>>>>
>>>> Thierry
>>>>
>>>> Le 11/12/2013 16:44, Sebastian Sastre a écrit :
>>>>> Without entering in details, a cause for slow package write is dumping
>>>>> all every time.
>>>>>
>>>>> For that strategy, we already have the image save which is magically fast.
>>>>>
>>>>> So, if we make something to scan the code and write only when it's
>>>>> different from what's on disk, then we would be preventing tons of
>>>>> redundant writes
>>>>>
>>>>> sebastian <https://about.me/sebastianconcept>
>>>>>
>>>>> o/
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Dec 11, 2013, at 1:43 PM, Goubier Thierry <thierry.goubier(a)cea.fr
>>>>> <mailto:thierry.goubier@cea.fr>> wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>> Le 11/12/2013 16:27, Esteban Lorenzano a écrit :
>>>>>>> ah, and IMHO the problem is not about reading... is about writing (if it
>>>>>>> has to write the metadata each time...).
>>>>>>
>>>>>> But, personnaly, I don't know if this is the reason for the lack of
>>>>>> performance...
>>>>>>
>>>>>> I have three hypothesis for Sebastian problem:
>>>>>> 1 - Slow read time for version metadata
>>>>>> - Confirmed because of the 16 seconds wait time for reading the
>>>>>> package metadata in the repository browser.
>>>>>> 2 - Slow metadata write
>>>>>> 3 - Slow package write
>>>>>>
>>>>>> I have an implemented solution for 1-, a very easy to implement for
>>>>>> 2-, and none yet for 3-
>>>>>>
>>>>>> So I'd really like to check if 3- is confirmed ;)
>>>>>>
>>>>>> Thierry
>>>>>>
>>>>>>>
>>>>>>> Esteban
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Dec 11, 2013 at 4:24 PM, Esteban Lorenzano
>>>>>>> <estebanlm(a)gmail.com <mailto:estebanlm@gmail.com>
>>>>>>> <mailto:estebanlm@gmail.com>> wrote:
>>>>>>>
>>>>>>> Thierry, I know there is a working version... let me search...
>>>>>>>
>>>>>>> (5 mins later)
>>>>>>>
>>>>>>>
>>>>>>> here:
>>>>>>>
>>>>>>> https://github.com/rjsargent/CypressReferenceImplementation
>>>>>>>
>>>>>>> Dale says Richard made a metadata-less version.
>>>>>>>
>>>>>>> We should take a look at that.
>>>>>>>
>>>>>>> Esteban
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Dec 11, 2013 at 4:28 PM, Goubier Thierry
>>>>>>> <thierry.goubier(a)cea.fr
>>>>>>> <mailto:thierry.goubier@cea.fr><mailto:thierry.goubier@cea.fr>> wrote:
>>>>>>>
>>>>>>> Esteban, Sebastian,
>>>>>>>
>>>>>>> In the filetree code, you will find a format without metadata,
>>>>>>> but it's not in use anymore.
>>>>>>>
>>>>>>> If you use gitfiletree, it will write the metadata for
>>>>>>> compatibility reasons with filetree, but it will never read it
>>>>>>> back.
>>>>>>>
>>>>>>> I'm pushing code to make filetree robust to absence of metadata,
>>>>>>> but I haven't worked on it for a while.
>>>>>>>
>>>>>>> gitfiletree has solved the problem of a slow metadata read. It
>>>>>>> does not solve any performance problem associated with
>>>>>>> writing, yet.
>>>>>>>
>>>>>>> Thierry
>>>>>>>
>>>>>>> Le 11/12/2013 16:12, Esteban Lorenzano a écrit :
>>>>>>>
>>>>>>> I know there is a version of filetree without metadata (more
>>>>>>> compelling
>>>>>>> for projects that will never use other formats).
>>>>>>> Dale told me that there was a preview somewhere, but I
>>>>>>> didn't tested yet
>>>>>>> (lack of time) and now I cannot find the mail...
>>>>>>> Dale, can you re-send the link?
>>>>>>>
>>>>>>> cheers,
>>>>>>> Esteban
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Dec 11, 2013 at 4:08 PM, Sebastian Sastre
>>>>>>> <sebastian(a)flowingconcept.com
>>>>>>> <mailto:sebastian@flowingconcept.com>
>>>>>>> <mailto:sebastian@flowingconcept.com>
>>>>>>> <mailto:sebastian@__flowingconcept.com
>>>>>>> <mailto:sebastian@flowingconcept.com>>> wrote:
>>>>>>>
>>>>>>> I should breath before I type, but you probably already
>>>>>>> got that I
>>>>>>> meant /redundant writes/ (not reads)...
>>>>>>>
>>>>>>>
>>>>>>> Anyway.. I was talking with Esteban and he mentions
>>>>>>> some kind of
>>>>>>> compatibility metadata.
>>>>>>>
>>>>>>> If I'm going to give a leap of faith to filetree repos
>>>>>>> to save code
>>>>>>> why should I care about mcz compatibility? Paying a
>>>>>>> toll for no
>>>>>>> reason is evil.
>>>>>>>
>>>>>>> Maybe we could make that optional so those who don't
>>>>>>> extract value
>>>>>>> from that feature can opt-out?
>>>>>>>
>>>>>>> sebastian <https://about.me/__sebastianconcept
>>>>>>> <https://about.me/sebastianconcept>>
>>>>>>>
>>>>>>>
>>>>>>> o/
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Dec 11, 2013, at 12:44 PM, Sebastian Sastre
>>>>>>> <sebastian(a)flowingconcept.com
>>>>>>> <mailto:sebastian@flowingconcept.com>
>>>>>>> <mailto:sebastian@flowingconcept.com>
>>>>>>> <mailto:sebastian@__flowingconcept.com
>>>>>>> <mailto:sebastian@flowingconcept.com>>>
>>>>>>> wrote:
>>>>>>>
>>>>>>> Hi Thierry
>>>>>>>
>>>>>>> On Dec 11, 2013, at 12:43 PM, Goubier Thierry
>>>>>>> <thierry.goubier(a)cea.fr
>>>>>>> <mailto:thierry.goubier@cea.fr>
>>>>>>> <mailto:thierry.goubier@cea.fr>
>>>>>>> <mailto:thierry.goubier@cea.fr
>>>>>>> <mailto:thierry.goubier@cea.fr>__>> wrote:
>>>>>>>
>>>>>>>
>>>>>>> I have packages (in the order of hundreds
>>>>>>> of classes) and save
>>>>>>> delays
>>>>>>> and package click delays are starting to
>>>>>>> demand patience in a
>>>>>>> way that
>>>>>>> doesn't feel like the right path
>>>>>>>
>>>>>>>
>>>>>>> Which operations ? I didn't remember noticing
>>>>>>> much with 179
>>>>>>> classes on a laptop without a SSD.
>>>>>>>
>>>>>>>
>>>>>>> choose one. Just for clicking the package that will
>>>>>>> should you
>>>>>>> UUID, version and author I need to wait ~16
>>>>>>> seconds. Sounds like a
>>>>>>> lot of overhead for reading a small .json file.
>>>>>>>
>>>>>>> But the write is the most worrisome
>>>>>>>
>>>>>>>
>>>>>>> All that is with a SSD disk, otherwise save
>>>>>>> delays would be
>>>>>>> /way/ beyond
>>>>>>> unacceptable
>>>>>>>
>>>>>>>
>>>>>>> I'd like to know more, and understand the
>>>>>>> reason, for sure. As
>>>>>>> far as I know, filetree will rewrite the whole
>>>>>>> package to disk
>>>>>>> everytime... and maybe optimising that could be
>>>>>>> the solution.
>>>>>>>
>>>>>>>
>>>>>>> Well, that explains a lot. Writing all every time
>>>>>>> is the lazy
>>>>>>> thing that's okay for a prototype and temporary
>>>>>>> code in a proof of
>>>>>>> concept but that massive redundant reads certainly
>>>>>>> doesn't sounds
>>>>>>> like pro software. Specially for SSD's which has a
>>>>>>> limited
>>>>>>> quantity of writes
>>>>>>>
>>>>>>>
>>>>>>> Thierry
>>>>>>>
>>>>>>> sebastian
>>>>>>> <https://about.me/__sebastianconcept
>>>>>>> <https://about.me/sebastianconcept>>
>>>>>>>
>>>>>>> o/
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Thierry Goubier
>>>>>>> CEA list
>>>>>>> Laboratoire des Fondations des Systèmes Temps
>>>>>>> Réel Embarqués
>>>>>>> 91191 Gif sur Yvette Cedex
>>>>>>> France
>>>>>>> Phone/Fax: +33 (0) 1 69 08 32 92
>>>>>>> <tel:%2B33%20%280%29%201%2069%2008%2032%2092>
>>>>>>> <tel:%2B33%20%280%29%201%2069%__2008%2032%2092>
>>>>>>> / 83 95
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Thierry Goubier
>>>>>>> CEA list
>>>>>>> Laboratoire des Fondations des Systèmes Temps Réel Embarqués
>>>>>>> 91191 Gif sur Yvette Cedex
>>>>>>> France
>>>>>>> Phone/Fax: +33 (0) 1 69 08 32 92
>>>>>>> <tel:%2B33%20%280%29%201%2069%2008%2032%2092> / 83 95
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> --
>>>>>> Thierry Goubier
>>>>>> CEA list
>>>>>> Laboratoire des Fondations des Systèmes Temps Réel Embarqués
>>>>>> 91191 Gif sur Yvette Cedex
>>>>>> France
>>>>>> Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95
>>>>>
>>>>
>>>> --
>>>> Thierry Goubier
>>>> CEA list
>>>> Laboratoire des Fondations des Systèmes Temps Réel Embarqués
>>>> 91191 Gif sur Yvette Cedex
>>>> France
>>>> Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95
Dec. 12, 2013
Re: [Pharo-dev] Is variable shadowing a feature or a bug?
by Marcus Denker
On 12 Dec 2013, at 15:44, Benjamin <benjamin.vanryseghem.pharo(a)gmail.com> wrote:
> I just discovered that in Pharo 3 you can do:
>
> [ :bool |
> self logCr: bool.
> bool := false.
> self logCr: bool.
> ] value: true
>
> Is this a bug or a feature ?
https://pharo.fogbugz.com/f/cases/12419/block-arguments-should-be-read-only
Dec. 12, 2013
Re: [Pharo-dev] Is variable shadowing a feature or a bug?
by Marcus Denker
On 12 Dec 2013, at 15:53, Nicolas Petton <petton.nicolas(a)gmail.com> wrote:
> Looks like a bug to me :)
>
Yes, the argument should not be writableâ¦
> Nico
>
> Benjamin writes:
>
>> I just discovered that in Pharo 3 you can do:
>>
>> [ :bool |
>> self logCr: bool.
>> bool := false.
>> self logCr: bool.
>> ] value: true
>>
>> Is this a bug or a feature ?
>>
>> I am fighting with this every day in javascript, and I do not know about to feel about this :s
>>
>> Ben
>
>
> --
> Nicolas Petton
> http://nicolas-petton.fr
>
Dec. 12, 2013