Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Pharo Status
(Fosdem15)
Marcus Denker
http://www.pharo.org
Pharo3: Release April `14
Started March 2013
2390 Issue tracker entries with Pharo3 tag closed
854 Updates
Iceberg
A lot of Changes!
Not everything
visible
Created by Uwe Kils (iceberg) and User:Wiska Bodo (sky).
CC-BY-SA-3.0 (vi...
Lots of Activity
A lot of Change!
Yet easy to adopt
Moose switched in two afternoons (two people)
Others: “I just loaded my packages"
A lot of change…
(see FOSDEM14)
But just one iteration
The Platform
Jump too large
Project1
Project2
Project3
Nomadic Solution
- Do not build infrastructure
- Use resources until depleted
- Move on
The Platform
Jump Possible
Project1
Project2
Project3
Project4
Feedback Loop
Projects Infrastructure
Every improvement has an
effect
Even Trivial Changes
Pharo4
Pharo4
Again: To be released Spring 2015
470 updates
>1200 Issues closed
Very stable
Small stuff…
Improved Refactorings
6MB Deployment Image
ifTrue: on non-Booleans
Browser and Tool cleanups
Context Cleanup ...
Dark Theme
GT Tools
Start to replace all tools
For now: Inspector + Spotter
http://gt.moosetechnology.org
Video: GTInspector
https://www.youtube.com/watch?v=wdYhM9byyPw
Demo: Inspect Methods
Demo: GTSpotter
First Class Variables
• First class Instance Variables (Slots)
• First class globals + class variables
For what?
• Allows programmers to define behavior
• Easy reflection on variable access
• Break on variable read, for example
In Progress…
Advanced Reflection
• Partial Behavioral Reflection
• Associate MetaObject with structural object
• Slots, Globals
• AST nod...
Why?
• Change behaviour for selected AST Nodes or
Variables
• “All variable reads”
• “this message send”
But without chang...
Epicea
• Replace .changes
• High level model:
• aggregate changes (refactoring)
• serialized to disk independent of source...
A new GC: Spur
• New Object Layout
• e.g. faster instanciation, larger hash
• Ephemerons, Fast Become:, Pinned Objects
• D...
The Future
64 bit COG VM
New Spur GC+Object layout has 64bit version
64bit in development
prototype starts to works in interpreter VM...
Sista: Runtime Optimizer
Current JIT work per method
Sista: detect hotspots, collect type info ==> Optimize
Bytecode-2-Byt...
OSWindow+SDL2
Move window logic to Smalltalk
Backend uses libSDL2 via FFI
Multiple OS Windows, OpenGL…
Block: Morphic, redone
Woden 3D
https://www.youtube.com/watch?v=1Nze9tnwYxY
Virtual GPU
https://www.youtube.com/watch?v=6xrq4OkvSi4
The VirtualGPU is a simple DSL/framework for
parallel algorithms.
Too much to show…
Twitter: @pharoproject
reddit Smalltalk sub-reddit
Google+
Questions ?
Pharo Status Fosdem 2015
Pharo Status Fosdem 2015
Prochain SlideShare
Chargement dans…5
×

Pharo Status Fosdem 2015

5 882 vues

Publié le

Pharo Status, Fosdem 2015
Speaker: Marcus Denker

Publié dans : Technologie
  • Hi there! Get Your Professional Job-Winning Resume Here - Check our website! http://bit.ly/resumpro
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici

Pharo Status Fosdem 2015

  1. 1. Pharo Status (Fosdem15) Marcus Denker http://www.pharo.org
  2. 2. Pharo3: Release April `14 Started March 2013 2390 Issue tracker entries with Pharo3 tag closed 854 Updates
  3. 3. Iceberg A lot of Changes! Not everything visible Created by Uwe Kils (iceberg) and User:Wiska Bodo (sky). CC-BY-SA-3.0 (via Wikimedia Commons
  4. 4. Lots of Activity
  5. 5. A lot of Change!
  6. 6. Yet easy to adopt Moose switched in two afternoons (two people) Others: “I just loaded my packages"
  7. 7. A lot of change… (see FOSDEM14)
  8. 8. But just one iteration
  9. 9. The Platform Jump too large Project1 Project2 Project3
  10. 10. Nomadic Solution - Do not build infrastructure - Use resources until depleted - Move on
  11. 11. The Platform Jump Possible Project1 Project2 Project3 Project4
  12. 12. Feedback Loop Projects Infrastructure
  13. 13. Every improvement has an effect
  14. 14. Even Trivial Changes
  15. 15. Pharo4
  16. 16. Pharo4 Again: To be released Spring 2015 470 updates >1200 Issues closed Very stable
  17. 17. Small stuff… Improved Refactorings 6MB Deployment Image ifTrue: on non-Booleans Browser and Tool cleanups Context Cleanup (MethodContext/ContextPart merge)
  18. 18. Dark Theme
  19. 19. GT Tools Start to replace all tools For now: Inspector + Spotter http://gt.moosetechnology.org
  20. 20. Video: GTInspector https://www.youtube.com/watch?v=wdYhM9byyPw
  21. 21. Demo: Inspect Methods
  22. 22. Demo: GTSpotter
  23. 23. First Class Variables • First class Instance Variables (Slots) • First class globals + class variables
  24. 24. For what? • Allows programmers to define behavior • Easy reflection on variable access • Break on variable read, for example
  25. 25. In Progress…
  26. 26. Advanced Reflection • Partial Behavioral Reflection • Associate MetaObject with structural object • Slots, Globals • AST nodes
  27. 27. Why? • Change behaviour for selected AST Nodes or Variables • “All variable reads” • “this message send” But without changing the program code!
  28. 28. Epicea • Replace .changes • High level model: • aggregate changes (refactoring) • serialized to disk independent of source model
  29. 29. A new GC: Spur • New Object Layout • e.g. faster instanciation, larger hash • Ephemerons, Fast Become:, Pinned Objects • Double Performance
  30. 30. The Future
  31. 31. 64 bit COG VM New Spur GC+Object layout has 64bit version 64bit in development prototype starts to works in interpreter VM 32bit images can be converted to 64bit
  32. 32. Sista: Runtime Optimizer Current JIT work per method Sista: detect hotspots, collect type info ==> Optimize Bytecode-2-Bytecode Optimizer implemented in Pharo Image
  33. 33. OSWindow+SDL2 Move window logic to Smalltalk Backend uses libSDL2 via FFI Multiple OS Windows, OpenGL…
  34. 34. Block: Morphic, redone
  35. 35. Woden 3D https://www.youtube.com/watch?v=1Nze9tnwYxY
  36. 36. Virtual GPU https://www.youtube.com/watch?v=6xrq4OkvSi4 The VirtualGPU is a simple DSL/framework for parallel algorithms.
  37. 37. Too much to show… Twitter: @pharoproject reddit Smalltalk sub-reddit Google+
  38. 38. Questions ?

×