Prexonite May 2008 Update

Downloads

Update

There have not been any significant changes since the introduction of the CIL compiler into the Prexonite, yet the current version comes with a number of performance optimizations regarding the generated CIL byte code.The majority of the built-in commands and types now use the ICilCompilerAware interface, which is used by the CIL compiler to let commands and types emit highly customized code. Calling println with no arguments for instance, results in a static call to void System::Console.WriteLine() directly in the compiled method.Similarly, type expressions in CIL functions are no longer implemented via type expression parsing but by directly referencing the corresponding singleton PType objects.But the most important improvement is the possibility to statically link Prexonite function calls in CIL compiled methods, which makes yet another hashtable lookup redundant at the cost of additional memory: A dynamically generated class has static fields for each and every function used by the compiled application. This can be a problem if you plan to re-compile your CIL-implementations, as dynamic type, unlike dynamic functions, cannot be garbage collected by design. It is, however, possible to disable the generation of such a class by passing false to CompileToCil.And on a side node: The often used library function struct has been implemented as a compiler hook for improved performance. By resolving the members at compile time one does not only save run time, but also removes the need for dynamic lookups, which in turn enables the use of CIL compilation for struct-functions. This is especially helpful for immutable structs.

My Backpack

I just came across a series of posts on lifehacker.com in which the contents of different peoples bags and backpacks is presented. A really cool idea, if you ask me. So let’s do the same here:

My Backpack

  1. Good old Texas Instruments TI-30XIIS.
  2. USB-to-Mini-USB cable. Used for my cell and my MP3 player
  3. 3.5mm stereo TRS connector. In case a bunch of people want to listen to my cool MP3s
  4. iriver driver software
  5. Cheap Panasonic headphones
  6. Sunglasses. The bag can also be used to clean screens
  7. The iriver Clix2, a really cool MP3 player
  8. Dice: 3xW20, 2xW10, 2xW6. Yes, I do play pen&paper role playing games
  9. Motorola RAZR V3i, the one everyone has
  10. 2 GB memory stick
  11. Wallet
  12. Agenda
  13. Pencil sharpener (vital for role playing)
  14. Set square
  15. Pills against hay fever
  16. “Formulae and Tables”, a very handy collection of commonly used formulae
  17. A5 notepad. I use an A4 pad for note taking in school but everything else gets written down on its smaller brother.
  18. My favourite black pen
  19. My favourite blue pen
  20. A pencil with an eraser
  21. A better eraser
  22. TipEx. In case something goes wrong in a test (barely used :-P )
  23. Suncream