Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- September
- 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
- 1 participants
- 144619 messages
Re: [Pharo-dev] Playground/Rubric bracket highlighting in the System Browser
by Peter Uhnák
What is the name of the setting? I didn't find any that would change that.
I tried it also with fresh image - should it work out of the box?
Peter
On Fri, Oct 24, 2014 at 1:55 PM, stepharo <stepharo(a)free.fr> wrote:
>
> Hi!
>>
>> Playground has a very nice feature that it highlights matching bracket. I
>> guess Rubric does it.
>>
>
> The default editor does it too.
> if you go at the end of the
> [ ]
> ^
> you get the
> first one in bold
> check also the settings
>
> Stef
>
> Is this something that is planned to be implemented into the System
>> Browser editor? That would probably mean replacing the PluggableTextMorph,
>> but I don't know if there are any problems with doing so.
>>
>> Also is there a keyboard shortcut for jumping to the matching
>> brace/bracket?
>>
>> Peter
>>
>
>
>
Oct. 24, 2014
Re: [Pharo-dev] Take care with Package renaming in Pharo 3/4
by Torsten Bergmann
stepharo wrote:
> Are you sure that the class is not there because it happens to me and it
> was that the class was packaged elsewere.
and
Esteban wrote:
>try
> RPackageOrganizer default initializeFromMC.
>
>(anyway is a bug, but well⦠at least you have a workaround to not lose your changes)
No, nothing helped. Try yourself:
Pharo4.0 Latest update: #40324:
- create a package "Foobaz"
- create a class "Bar" in it
- now rename the package "FooBaz" (same name but one uppercase letter in it)
=> the package is not there anymore, also the class "Bar" is gone
according to change sorter the package was unloaded!
Running Estebans Expression does not help, you could also not open a browser on the class Bar
Bye
T.
Oct. 24, 2014
Monticello on local network server
by Dario Trussardi
Hi,
i work with Pharo 1.4.
I need to manage a packages on a local server with Monticello http repository.
I configured the Monticello repository with:
MCHttpRepository
location: 'http://www.server1.com/RepositoryDTR/'
user: ''
password: ''
And configured the local DNS to redirect the request on the IP server
and configured the lighttpd on the server to redirect the /RepositoryDTR/ path on the specific server path.
Now when i open the repository with Monticello i can see the hold *.mcz package into server 1 /RepositoryDTR/ path
I found the error:
ZnHttpUnsuccessful: 404 Not Found
when i save, with Monticello browser, a new package version on the server.
I need to do some initialization before use a remote http ?
Thanks for any considerations,
Dario
This is the stack relative of the error.
VM: Mac OS - intel - 1075 - CoInterpreter VMMaker-oscog-EstebanLorenzano.161 uuid: 8e0c22c3-b48d-4d8d-a7f9-8a75dc246f28 Jul 18 2012, StackToRegisterMappingCogit VMMaker-oscog-EstebanLorenzano.161 uuid: 8e0c22c3-b48d-4d8d-a7f9-8a75dc246f28 Jul 18 2012, https://git.gitorious.org/cogvm/blessed.git Commit: 5151310c41b08f55b70e9c6250711cb1f3672ce7 Date: 2012-07-18 14:06:15 +0200 By: Camillo Bruni <camillobruni(a)gmail.com>
Image: Pharo1.4 [Latest update: #14445]
ZnClient>>handleResponse
Receiver: a ZnClient
Arguments and temporary variables:
Receiver's instance variables:
request: a ZnRequest(PUT /RepositoryDTR/DtrLogin-DTR.417.mcz)
response: a ZnResponse(404 Not Found text/html 345B)
connection: nil
lastUsed: nil
state: #closed
options: a Dictionary(#enforceAcceptContentType->true #enforceHttpSuccess->true...etc...
session: nil
log: a ZnLogSupport
ZnClient>>executeWithRedirectsRemaining:
Receiver: a ZnClient
Arguments and temporary variables:
redirectCount: 3
Receiver's instance variables:
request: a ZnRequest(PUT /RepositoryDTR/DtrLogin-DTR.417.mcz)
response: a ZnResponse(404 Not Found text/html 345B)
connection: nil
lastUsed: nil
state: #closed
options: a Dictionary(#enforceAcceptContentType->true #enforceHttpSuccess->true...etc...
session: nil
log: a ZnLogSupport
[self executeWithRedirectsRemaining: self maxNumberOfRedirects] in ZnClient>>executeWithRetriesRemaining:
Receiver: a ZnClient
Arguments and temporary variables:
Receiver's instance variables:
request: a ZnRequest(PUT /RepositoryDTR/DtrLogin-DTR.417.mcz)
response: a ZnResponse(404 Not Found text/html 345B)
connection: nil
lastUsed: nil
state: #closed
options: a Dictionary(#enforceAcceptContentType->true #enforceHttpSuccess->true...etc...
session: nil
log: a ZnLogSupport
BlockClosure>>on:do:
Receiver: [self executeWithRedirectsRemaining: self maxNumberOfRedirects]
Arguments and temporary variables:
exception: Exception
handlerAction: [:exception | retryCount > 0
ifTrue: [self handleRetry; execut...etc...
handlerActive: false
Receiver's instance variables:
outerContext: ZnClient>>executeWithRetriesRemaining:
startpc: 49
numArgs: 0
ZnClient>>executeWithRetriesRemaining:
Receiver: a ZnClient
Arguments and temporary variables:
retryCount: 0
Receiver's instance variables:
request: a ZnRequest(PUT /RepositoryDTR/DtrLogin-DTR.417.mcz)
response: a ZnResponse(404 Not Found text/html 345B)
connection: nil
lastUsed: nil
state: #closed
options: a Dictionary(#enforceAcceptContentType->true #enforceHttpSuccess->true...etc...
session: nil
log: a ZnLogSupport
[:exception | retryCount > 0
ifTrue: [self handleRetry; executeWithRetriesRemaining: retryCount - 1]
ifFalse: [exception pass]] in ZnClient>>executeWithRetriesRemaining:
Receiver: a ZnClient
Arguments and temporary variables:
retryCount: HTTPProgress: Connecting to www.server1.com
exception: 1
Receiver's instance variables:
request: a ZnRequest(PUT /RepositoryDTR/DtrLogin-DTR.417.mcz)
response: a ZnResponse(404 Not Found text/html 345B)
connection: nil
lastUsed: nil
state: #closed
options: a Dictionary(#enforceAcceptContentType->true #enforceHttpSuccess->true...etc...
session: nil
log: a ZnLogSupport
Oct. 24, 2014
Re: [Pharo-dev] Weird rehashing problem
by Dale Henrichs
Don't know whether it's related or not, but just the other day I was
updating builderCI to use the zeroconf scripts for Pharo1.2 through
Pharo1.4 when I hit a problem loading a package from smalltalkhub that only
failed (consistently) for Pharo1.3[1] and when I reverted to using the
relatively old vm built into builderCI the loading problem disappeared[2]
... and I concluded that there was something in Pharo-3.0 that did not play
well with the recent vm(only as Pharo-1.2 and Pharo-1.4 seemed to work
fine).
The old vm suits my purposes just fine, but I would agree that there is
something fishy there related to the vms ...
Dale
[1] https://travis-ci.org/dalehenrich/builderCI/jobs/38547637#L334
[2] https://travis-ci.org/dalehenrich/builderCI/builds/38551292
On Fri, Oct 24, 2014 at 7:29 AM, Max Leske <maxleske(a)gmail.com> wrote:
> Hi
>
> I have a rather strange problem with rehasing that occurred simultaneously
> multiple times on the same day but not since. Luckily Iâve saved an image
> with the debugger in it. The mean thing is: that doesnât help me at all
> because from what I can tell either the Debugger is broken or thereâs a VM
> problem.
>
> Note:
> The image is a Pharo 1.3 image. The problem occurred on two different VMs
> independently, an NBCog VM (Croquet Closure Cog VM [CoInterpreter
> VMMaker-oscog-EstebanLorenzano.166] 21.0) and a Squeak VM (Squeak3.10.2 of
> '5 June 2008' [latest update: #7179]).
> The operation during which this happened was the loading of an
> ImageSegment (in both instances).
>
>
> Hereâs what happened. I got a SubscriptOutOfBounds error during rehashing
> of a Dictionary. When I look at the debugger itâs clear why the exception
> got signaled but not how that situation could ever happen.
>
> These are the top three contexts on the stack:
>
> Array(Object)>>errorSubscriptBounds:
> Array(Object)>>at:put:
> CBConfiguration(Dictionary)>>noCheckAdd:
>
> This is the #noCheckAdd: methodâ
>
> noCheckAdd: anObject
> "Must be defined separately for Dictionary because (self
> findElementOrNil:) expects a key, not an association. 9/7/96 tk"
>
> array at: (self findElementOrNil: anObject key) put: anObject.
> tally := tally + 1
>
> and hereâs #at:put: where the exception is signaled:
>
> at: index put: value
> <primitive: 61>
> index isInteger ifTrue:
> [self class isVariable
> ifTrue: [(index >= 1 and: [index <= self size])
> ifTrue: [self errorImproperStore]
> ifFalse: [self
> errorSubscriptBounds: index]] <âââ signaled
> ifFalse: [self errorNotIndexable]].
> index isNumber
> ifTrue: [^self at: index asInteger put: value]
> ifFalse: [self errorNonIntegerIndex]
>
> Hereâs the weird thing: according to the debugger âarray' in #noCheckAdd:
> IS NOT THE SAME INSTANCE as âselfâ in #at:put:!!!!!! ????????? When I look
> at the pointers to both arrays, the correct one is pointed to by the
> dictionary while the other is only being referenced by the exception
> context:
>
> Bad array:
> 1: SubscriptOutOfBounds: 88
> 2: Array(Object)>>errorSubscriptBounds:
> 3: Array(Object>>at:put:
> 4: an Inspector
> â¦
>
> Good array:
> 1: aCBConfiguration(size 107)
>
>
> I really have no clue how this could have happened. Iâd appreciate any
> thoughts you might haveâ¦
>
> Cheers,
> Max
>
Oct. 24, 2014
Re: [Pharo-dev] Run Spur run!!
by Esteban Lorenzano
> On 24 Oct 2014, at 16:21, Thierry Goubier <thierry.goubier(a)gmail.com> wrote:
>
>
>
> 2014-10-24 15:50 GMT+02:00 Clément Bera <bera.clement(a)gmail.com <mailto:bera.clement@gmail.com>>:
> The current x2 speed boost is due only to spur, not to sista. Sista will provide additional performance, but we have still things to do before production.
>
> The performance gain reported is due to (from most important to less important):
> - the new GC has less overhead. 30% of the execution time used to be spent in the GC.
> - the new object format speeds up some VM internal caches (especially inline caches for message sends due to an indirection for object classes with a class table).
> - the new object format allows some C code to be converted into machine code routines, including block creation, context creation, primitive #at:put:, which is faster because switching from jitted code to C then back to jitted code generate a little overhead.
> - characters are now immediate objects, which speeds up String accessing.
> - the new object format has a larger hash which speeds up big hashed collections such as big sets and dictionaries.
> - become is faster.
>
>
> All this is really cool :) And if I remember well, there is 64 bitness coming as well.
>
> Will Spur also cover ARM ?
Spur is an object format, it does not have anything to do with underlying architecture (well, at least in theory⦠Eliot should be able to say more on this).
Cog, in the other side is a jitter, and it has everything to do with the architecture so is difficult to have it running on ARM (but there is work on that direction, so we hope it will be there eventually).
It looks like there is a misunderstanding (probably not you, Thierry, but since Iâve seen it time to time, I take the chance to clarify): Spur is not a replacement for Cog, both are orthogonal (in fact, Spur runs in Stack vm too).
Real new VM is not âSpurâ vm, is "Cog+Spur" vm.
cheers,
Esteban
>
> Thierry
>
>
> 2014-10-24 15:20 GMT+02:00 kilon alios <kilon.alios(a)gmail.com <mailto:kilon.alios@gmail.com>>:
> thanks max, i completely forgotten about esug videos, looks like i found what to watch during the weekend :D
>
> On Fri, Oct 24, 2014 at 4:12 PM, Max Leske <maxleske(a)gmail.com <mailto:maxleske@gmail.com>> wrote:
>
>> On 24.10.2014, at 15:06, kilon alios <kilon.alios(a)gmail.com <mailto:kilon.alios@gmail.com>> wrote:
>>
>> very nice
>>
>> so any more information to this, how exactly this optimization works and which kind of data will benefit from this ?
>
> Clémentâs byte code set talk at ESUG: http://www.youtube.com/watch?v=e9J362QHwSA&index=64&list=PLJ5nSnWzQXi_6yyRL… <http://www.youtube.com/watch?v=e9J362QHwSA&index=64&list=PLJ5nSnWzQXi_6yyRL…>
> Clémentâs Sista talk at ESUG (2 parts):
> http://www.youtube.com/watch?v=X4E_FoLysJg&list=PLJ5nSnWzQXi_6yyRLsMMBqG8Yl… <http://www.youtube.com/watch?v=X4E_FoLysJg&list=PLJ5nSnWzQXi_6yyRLsMMBqG8Yl…>
> http://www.youtube.com/watch?v=gZOk3qojoVE&list=PLJ5nSnWzQXi_6yyRLsMMBqG8Yl… <http://www.youtube.com/watch?v=gZOk3qojoVE&list=PLJ5nSnWzQXi_6yyRLsMMBqG8Yl…>
>
> Eliotâs Spur talk at ESUG (3 parts):
> http://www.youtube.com/watch?v=k0nBNS1aHZ4&index=49&list=PLJ5nSnWzQXi_6yyRL… <http://www.youtube.com/watch?v=k0nBNS1aHZ4&index=49&list=PLJ5nSnWzQXi_6yyRL…>
> http://www.youtube.com/watch?v=sn3irBZE7g4&index=48&list=PLJ5nSnWzQXi_6yyRL… <http://www.youtube.com/watch?v=sn3irBZE7g4&index=48&list=PLJ5nSnWzQXi_6yyRL…>
> http://www.youtube.com/watch?v=1Vg0iFeg_pA&list=PLJ5nSnWzQXi_6yyRLsMMBqG8Yl… <http://www.youtube.com/watch?v=1Vg0iFeg_pA&list=PLJ5nSnWzQXi_6yyRLsMMBqG8Yl…>
>
>>
>> On Fri, Oct 24, 2014 at 3:47 PM, Sebastian Sastre <sebastian(a)flowingconcept.com <mailto:sebastian@flowingconcept.com>> wrote:
>> remarkable!!!
>>
>> congratulations for the impressive results
>>
>> thanks for sharing!
>>
>> sebastian
>>
>> o/
>>
>> > On 23/10/2014, at 17:40, Max Leske <maxleske(a)gmail.com <mailto:maxleske@gmail.com>> wrote:
>> >
>> > For those of you who missed this on IRC:
>> >
>> > henriksp: estebanlm: Care to run a small bench Cog vs Spur for me?
>> > [3:32pm] henriksp: int := ZnUTF8Encoder new.
>> > [3:32pm] henriksp: [int decodeBytes:#[67 97 115 104 44 32 108 105 107 101 32 226 130 172 44 32 105 115 32 107 105 110 103 0]] bench.
>> > [3:32pm] henriksp: had a 16x speedup with assembly implementation vs Cog, if it's 8x vs Spur, that's just really impressive
>> > [3:44pm] Craig left the chat room. (Quit: Leaving.)
>> > [3:53pm] Craig joined the chat room.
>> > [4:08pm] VitamineD joined the chat room.
>> > [4:20pm] estebanlm: checking
>> > [4:21pm] estebanlm: Cog: 167,000 per second.
>> > [4:22pm] estebanlm: Cog[Spur]: 289,000 per second.
>> > [4:23pm] estebanlm: henriksp: ping
>> > [4:33pm] tinchodias left the chat room. (Ping timeout: 245 seconds)
>> > [4:33pm] tinchodias joined the chat room.
>> > [4:34pm] henriksp: 70% more work done, nice!
>> > [5:09pm]
>> >
>> >
>> > Yay! :)
>>
>>
>
>
>
>
Oct. 24, 2014
Weird rehashing problem
by Max Leske
Hi
I have a rather strange problem with rehasing that occurred simultaneously multiple times on the same day but not since. Luckily Iâve saved an image with the debugger in it. The mean thing is: that doesnât help me at all because from what I can tell either the Debugger is broken or thereâs a VM problem.
Note:
The image is a Pharo 1.3 image. The problem occurred on two different VMs independently, an NBCog VM (Croquet Closure Cog VM [CoInterpreter VMMaker-oscog-EstebanLorenzano.166] 21.0) and a Squeak VM (Squeak3.10.2 of '5 June 2008' [latest update: #7179]).
The operation during which this happened was the loading of an ImageSegment (in both instances).
Hereâs what happened. I got a SubscriptOutOfBounds error during rehashing of a Dictionary. When I look at the debugger itâs clear why the exception got signaled but not how that situation could ever happen.
These are the top three contexts on the stack:
Array(Object)>>errorSubscriptBounds:
Array(Object)>>at:put:
CBConfiguration(Dictionary)>>noCheckAdd:
This is the #noCheckAdd: methodâ
noCheckAdd: anObject
"Must be defined separately for Dictionary because (self findElementOrNil:) expects a key, not an association. 9/7/96 tk"
array at: (self findElementOrNil: anObject key) put: anObject.
tally := tally + 1
and hereâs #at:put: where the exception is signaled:
at: index put: value
<primitive: 61>
index isInteger ifTrue:
[self class isVariable
ifTrue: [(index >= 1 and: [index <= self size])
ifTrue: [self errorImproperStore]
ifFalse: [self errorSubscriptBounds: index]] <âââ signaled
ifFalse: [self errorNotIndexable]].
index isNumber
ifTrue: [^self at: index asInteger put: value]
ifFalse: [self errorNonIntegerIndex]
Hereâs the weird thing: according to the debugger âarray' in #noCheckAdd: IS NOT THE SAME INSTANCE as âselfâ in #at:put:!!!!!! ????????? When I look at the pointers to both arrays, the correct one is pointed to by the dictionary while the other is only being referenced by the exception context:
Bad array:
1: SubscriptOutOfBounds: 88
2: Array(Object)>>errorSubscriptBounds:
3: Array(Object>>at:put:
4: an Inspector
â¦
Good array:
1: aCBConfiguration(size 107)
I really have no clue how this could have happened. Iâd appreciate any thoughts you might haveâ¦
Cheers,
Max
Oct. 24, 2014
Re: [Pharo-dev] Run Spur run!!
by Thierry Goubier
2014-10-24 15:50 GMT+02:00 Clément Bera <bera.clement(a)gmail.com>:
> The current x2 speed boost is due only to spur, not to sista. Sista will
> provide additional performance, but we have still things to do before
> production.
>
> The performance gain reported is due to (from most important to less
> important):
> - the new GC has less overhead. 30% of the execution time used to be spent
> in the GC.
> - the new object format speeds up some VM internal caches (especially
> inline caches for message sends due to an indirection for object classes
> with a class table).
> - the new object format allows some C code to be converted into machine
> code routines, including block creation, context creation, primitive
> #at:put:, which is faster because switching from jitted code to C then back
> to jitted code generate a little overhead.
> - characters are now immediate objects, which speeds up String accessing.
> - the new object format has a larger hash which speeds up big hashed
> collections such as big sets and dictionaries.
> - become is faster.
>
>
All this is really cool :) And if I remember well, there is 64 bitness
coming as well.
Will Spur also cover ARM ?
Thierry
>
> 2014-10-24 15:20 GMT+02:00 kilon alios <kilon.alios(a)gmail.com>:
>
>> thanks max, i completely forgotten about esug videos, looks like i found
>> what to watch during the weekend :D
>>
>> On Fri, Oct 24, 2014 at 4:12 PM, Max Leske <maxleske(a)gmail.com> wrote:
>>
>>>
>>> On 24.10.2014, at 15:06, kilon alios <kilon.alios(a)gmail.com> wrote:
>>>
>>> very nice
>>>
>>> so any more information to this, how exactly this optimization works and
>>> which kind of data will benefit from this ?
>>>
>>>
>>> Clément's byte code set talk at ESUG:
>>> http://www.youtube.com/watch?v=e9J362QHwSA&index=64&list=PLJ5nSnWzQXi_6yyRL…
>>> Clément's Sista talk at ESUG (2 parts):
>>>
>>> http://www.youtube.com/watch?v=X4E_FoLysJg&list=PLJ5nSnWzQXi_6yyRLsMMBqG8Yl…
>>>
>>> http://www.youtube.com/watch?v=gZOk3qojoVE&list=PLJ5nSnWzQXi_6yyRLsMMBqG8Yl…
>>>
>>> Eliot's Spur talk at ESUG (3 parts):
>>>
>>> http://www.youtube.com/watch?v=k0nBNS1aHZ4&index=49&list=PLJ5nSnWzQXi_6yyRL…
>>>
>>> http://www.youtube.com/watch?v=sn3irBZE7g4&index=48&list=PLJ5nSnWzQXi_6yyRL…
>>>
>>> http://www.youtube.com/watch?v=1Vg0iFeg_pA&list=PLJ5nSnWzQXi_6yyRLsMMBqG8Yl…
>>>
>>>
>>> On Fri, Oct 24, 2014 at 3:47 PM, Sebastian Sastre <
>>> sebastian(a)flowingconcept.com> wrote:
>>>
>>>> remarkable!!!
>>>>
>>>> congratulations for the impressive results
>>>>
>>>> thanks for sharing!
>>>>
>>>> sebastian
>>>>
>>>> o/
>>>>
>>>> > On 23/10/2014, at 17:40, Max Leske <maxleske(a)gmail.com> wrote:
>>>> >
>>>> > For those of you who missed this on IRC:
>>>> >
>>>> > henriksp: estebanlm: Care to run a small bench Cog vs Spur for me?
>>>> > [3:32pm] henriksp: int := ZnUTF8Encoder new.
>>>> > [3:32pm] henriksp: [int decodeBytes:#[67 97 115 104 44 32 108 105 107
>>>> 101 32 226 130 172 44 32 105 115 32 107 105 110 103 0]] bench.
>>>> > [3:32pm] henriksp: had a 16x speedup with assembly implementation vs
>>>> Cog, if it's 8x vs Spur, that's just really impressive
>>>> > [3:44pm] Craig left the chat room. (Quit: Leaving.)
>>>> > [3:53pm] Craig joined the chat room.
>>>> > [4:08pm] VitamineD joined the chat room.
>>>> > [4:20pm] estebanlm: checking
>>>> > [4:21pm] estebanlm: Cog: 167,000 per second.
>>>> > [4:22pm] estebanlm: Cog[Spur]: 289,000 per second.
>>>> > [4:23pm] estebanlm: henriksp: ping
>>>> > [4:33pm] tinchodias left the chat room. (Ping timeout: 245 seconds)
>>>> > [4:33pm] tinchodias joined the chat room.
>>>> > [4:34pm] henriksp: 70% more work done, nice!
>>>> > [5:09pm]
>>>> >
>>>> >
>>>> > Yay! :)
>>>>
>>>>
>>>
>>>
>>
>
Oct. 24, 2014
Re: [Pharo-dev] Run Spur run!!
by phil@highoctane.be
Le 24 oct. 2014 15:51, "Clément Bera" <bera.clement(a)gmail.com> a écrit :
>
> The current x2 speed boost is due only to spur, not to sista. Sista will
provide additional performance, but we have still things to do before
production.
>
> The performance gain reported is due to (from most important to less
important):
> - the new GC has less overhead. 30% of the execution time used to be
spent in the GC.
> - the new object format speeds up some VM internal caches (especially
inline caches for message sends due to an indirection for object classes
with a class table).
> - the new object format allows some C code to be converted into machine
code routines, including block creation, context creation, primitive
#at:put:, which is faster because switching from jitted code to C then back
to jitted code generate a little overhead.
> - characters are now immediate objects, which speeds up String accessing.
> - the new object format has a larger hash which speeds up big hashed
collections such as big sets and dictionaries.
> - become is faster.
Amazing comes to mind...
Looks like a case of 1+1=much more than 2.
Keep up the good work, you guys are setting a high standard for us to
match. It is truly inspiring !
Phil
>
>
> 2014-10-24 15:20 GMT+02:00 kilon alios <kilon.alios(a)gmail.com>:
>>
>> thanks max, i completely forgotten about esug videos, looks like i found
what to watch during the weekend :D
>>
>> On Fri, Oct 24, 2014 at 4:12 PM, Max Leske <maxleske(a)gmail.com> wrote:
>>>
>>>
>>>> On 24.10.2014, at 15:06, kilon alios <kilon.alios(a)gmail.com> wrote:
>>>>
>>>> very nice
>>>>
>>>> so any more information to this, how exactly this optimization works
and which kind of data will benefit from this ?
>>>
>>>
>>> Clémentâs byte code set talk at ESUG:
http://www.youtube.com/watch?v=e9J362QHwSA&index=64&list=PLJ5nSnWzQXi_6yyRL…
>>> Clémentâs Sista talk at ESUG (2 parts):
>>>
http://www.youtube.com/watch?v=X4E_FoLysJg&list=PLJ5nSnWzQXi_6yyRLsMMBqG8Yl…
>>>
http://www.youtube.com/watch?v=gZOk3qojoVE&list=PLJ5nSnWzQXi_6yyRLsMMBqG8Yl…
>>>
>>> Eliotâs Spur talk at ESUG (3 parts):
>>>
http://www.youtube.com/watch?v=k0nBNS1aHZ4&index=49&list=PLJ5nSnWzQXi_6yyRL…
>>>
http://www.youtube.com/watch?v=sn3irBZE7g4&index=48&list=PLJ5nSnWzQXi_6yyRL…
>>>
http://www.youtube.com/watch?v=1Vg0iFeg_pA&list=PLJ5nSnWzQXi_6yyRLsMMBqG8Yl…
>>>
>>>>
>>>> On Fri, Oct 24, 2014 at 3:47 PM, Sebastian Sastre <
sebastian(a)flowingconcept.com> wrote:
>>>>>
>>>>> remarkable!!!
>>>>>
>>>>> congratulations for the impressive results
>>>>>
>>>>> thanks for sharing!
>>>>>
>>>>> sebastian
>>>>>
>>>>> o/
>>>>>
>>>>> > On 23/10/2014, at 17:40, Max Leske <maxleske(a)gmail.com> wrote:
>>>>> >
>>>>> > For those of you who missed this on IRC:
>>>>> >
>>>>> > henriksp: estebanlm: Care to run a small bench Cog vs Spur for me?
>>>>> > [3:32pm] henriksp: int := ZnUTF8Encoder new.
>>>>> > [3:32pm] henriksp: [int decodeBytes:#[67 97 115 104 44 32 108 105
107 101 32 226 130 172 44 32 105 115 32 107 105 110 103 0]] bench.
>>>>> > [3:32pm] henriksp: had a 16x speedup with assembly implementation
vs Cog, if it's 8x vs Spur, that's just really impressive
>>>>> > [3:44pm] Craig left the chat room. (Quit: Leaving.)
>>>>> > [3:53pm] Craig joined the chat room.
>>>>> > [4:08pm] VitamineD joined the chat room.
>>>>> > [4:20pm] estebanlm: checking
>>>>> > [4:21pm] estebanlm: Cog: 167,000 per second.
>>>>> > [4:22pm] estebanlm: Cog[Spur]: 289,000 per second.
>>>>> > [4:23pm] estebanlm: henriksp: ping
>>>>> > [4:33pm] tinchodias left the chat room. (Ping timeout: 245 seconds)
>>>>> > [4:33pm] tinchodias joined the chat room.
>>>>> > [4:34pm] henriksp: 70% more work done, nice!
>>>>> > [5:09pm]
>>>>> >
>>>>> >
>>>>> > Yay! :)
>>>>>
>>>>
>>>
>>
>
Oct. 24, 2014
Re: [Pharo-dev] Run Spur run!!
by Clément Bera
The current x2 speed boost is due only to spur, not to sista. Sista will
provide additional performance, but we have still things to do before
production.
The performance gain reported is due to (from most important to less
important):
- the new GC has less overhead. 30% of the execution time used to be spent
in the GC.
- the new object format speeds up some VM internal caches (especially
inline caches for message sends due to an indirection for object classes
with a class table).
- the new object format allows some C code to be converted into machine
code routines, including block creation, context creation, primitive
#at:put:, which is faster because switching from jitted code to C then back
to jitted code generate a little overhead.
- characters are now immediate objects, which speeds up String accessing.
- the new object format has a larger hash which speeds up big hashed
collections such as big sets and dictionaries.
- become is faster.
2014-10-24 15:20 GMT+02:00 kilon alios <kilon.alios(a)gmail.com>:
> thanks max, i completely forgotten about esug videos, looks like i found
> what to watch during the weekend :D
>
> On Fri, Oct 24, 2014 at 4:12 PM, Max Leske <maxleske(a)gmail.com> wrote:
>
>>
>> On 24.10.2014, at 15:06, kilon alios <kilon.alios(a)gmail.com> wrote:
>>
>> very nice
>>
>> so any more information to this, how exactly this optimization works and
>> which kind of data will benefit from this ?
>>
>>
>> Clémentâs byte code set talk at ESUG:
>> http://www.youtube.com/watch?v=e9J362QHwSA&index=64&list=PLJ5nSnWzQXi_6yyRL…
>> Clémentâs Sista talk at ESUG (2 parts):
>>
>> http://www.youtube.com/watch?v=X4E_FoLysJg&list=PLJ5nSnWzQXi_6yyRLsMMBqG8Yl…
>>
>> http://www.youtube.com/watch?v=gZOk3qojoVE&list=PLJ5nSnWzQXi_6yyRLsMMBqG8Yl…
>>
>> Eliotâs Spur talk at ESUG (3 parts):
>>
>> http://www.youtube.com/watch?v=k0nBNS1aHZ4&index=49&list=PLJ5nSnWzQXi_6yyRL…
>>
>> http://www.youtube.com/watch?v=sn3irBZE7g4&index=48&list=PLJ5nSnWzQXi_6yyRL…
>>
>> http://www.youtube.com/watch?v=1Vg0iFeg_pA&list=PLJ5nSnWzQXi_6yyRLsMMBqG8Yl…
>>
>>
>> On Fri, Oct 24, 2014 at 3:47 PM, Sebastian Sastre <
>> sebastian(a)flowingconcept.com> wrote:
>>
>>> remarkable!!!
>>>
>>> congratulations for the impressive results
>>>
>>> thanks for sharing!
>>>
>>> sebastian
>>>
>>> o/
>>>
>>> > On 23/10/2014, at 17:40, Max Leske <maxleske(a)gmail.com> wrote:
>>> >
>>> > For those of you who missed this on IRC:
>>> >
>>> > henriksp: estebanlm: Care to run a small bench Cog vs Spur for me?
>>> > [3:32pm] henriksp: int := ZnUTF8Encoder new.
>>> > [3:32pm] henriksp: [int decodeBytes:#[67 97 115 104 44 32 108 105 107
>>> 101 32 226 130 172 44 32 105 115 32 107 105 110 103 0]] bench.
>>> > [3:32pm] henriksp: had a 16x speedup with assembly implementation vs
>>> Cog, if it's 8x vs Spur, that's just really impressive
>>> > [3:44pm] Craig left the chat room. (Quit: Leaving.)
>>> > [3:53pm] Craig joined the chat room.
>>> > [4:08pm] VitamineD joined the chat room.
>>> > [4:20pm] estebanlm: checking
>>> > [4:21pm] estebanlm: Cog: 167,000 per second.
>>> > [4:22pm] estebanlm: Cog[Spur]: 289,000 per second.
>>> > [4:23pm] estebanlm: henriksp: ping
>>> > [4:33pm] tinchodias left the chat room. (Ping timeout: 245 seconds)
>>> > [4:33pm] tinchodias joined the chat room.
>>> > [4:34pm] henriksp: 70% more work done, nice!
>>> > [5:09pm]
>>> >
>>> >
>>> > Yay! :)
>>>
>>>
>>
>>
>
Oct. 24, 2014
Re: [Pharo-dev] Run Spur run!!
by Eliot Miranda
On Oct 24, 2014, at 6:12 AM, Max Leske <maxleske(a)gmail.com> wrote:
>
>> On 24.10.2014, at 15:06, kilon alios <kilon.alios(a)gmail.com> wrote:
>>
>> very nice
>>
>> so any more information to this, how exactly this optimization works and which kind of data will benefit from this ?
Just to be clear, the speed up measured here is due to Spur. Sista is in development and should produce even larger speed ups than the ~ -40% speed ups Spur achieves.
Spur should speed up all pure Smalltalk code by
- providing faster instantiation (including closures)
- providing faster at:put:
-providing faster GC (scavenging vs stackless scan-mark-compact)
- providing much faster become
- providing much faster wide string access via immediate characters
> Clémentâs byte code set talk at ESUG: http://www.youtube.com/watch?v=e9J362QHwSA&index=64&list=PLJ5nSnWzQXi_6yyRL…
> Clémentâs Sista talk at ESUG (2 parts):
> http://www.youtube.com/watch?v=X4E_FoLysJg&list=PLJ5nSnWzQXi_6yyRLsMMBqG8Yl…
> http://www.youtube.com/watch?v=gZOk3qojoVE&list=PLJ5nSnWzQXi_6yyRLsMMBqG8Yl…
>
> Eliotâs Spur talk at ESUG (3 parts):
> http://www.youtube.com/watch?v=k0nBNS1aHZ4&index=49&list=PLJ5nSnWzQXi_6yyRL…
> http://www.youtube.com/watch?v=sn3irBZE7g4&index=48&list=PLJ5nSnWzQXi_6yyRL…
> http://www.youtube.com/watch?v=1Vg0iFeg_pA&list=PLJ5nSnWzQXi_6yyRLsMMBqG8Yl…
>
>>
>> On Fri, Oct 24, 2014 at 3:47 PM, Sebastian Sastre <sebastian(a)flowingconcept.com> wrote:
>>> remarkable!!!
>>>
>>> congratulations for the impressive results
>>>
>>> thanks for sharing!
>>>
>>> sebastian
>>>
>>> o/
>>>
>>> > On 23/10/2014, at 17:40, Max Leske <maxleske(a)gmail.com> wrote:
>>> >
>>> > For those of you who missed this on IRC:
>>> >
>>> > henriksp: estebanlm: Care to run a small bench Cog vs Spur for me?
>>> > [3:32pm] henriksp: int := ZnUTF8Encoder new.
>>> > [3:32pm] henriksp: [int decodeBytes:#[67 97 115 104 44 32 108 105 107 101 32 226 130 172 44 32 105 115 32 107 105 110 103 0]] bench.
>>> > [3:32pm] henriksp: had a 16x speedup with assembly implementation vs Cog, if it's 8x vs Spur, that's just really impressive
>>> > [3:44pm] Craig left the chat room. (Quit: Leaving.)
>>> > [3:53pm] Craig joined the chat room.
>>> > [4:08pm] VitamineD joined the chat room.
>>> > [4:20pm] estebanlm: checking
>>> > [4:21pm] estebanlm: Cog: 167,000 per second.
>>> > [4:22pm] estebanlm: Cog[Spur]: 289,000 per second.
>>> > [4:23pm] estebanlm: henriksp: ping
>>> > [4:33pm] tinchodias left the chat room. (Ping timeout: 245 seconds)
>>> > [4:33pm] tinchodias joined the chat room.
>>> > [4:34pm] henriksp: 70% more work done, nice!
>>> > [5:09pm]
>>> >
>>> >
>>> > Yay! :)
Eliot (phone)
Oct. 24, 2014