@rovarma@TheGingerBill@SuperluminalSft I have found that presentations on performance optimization often skip HOW they found the performance problem and skip right to what was slow and how they fixed it. Knowing HOW to find the problem is also a valuable skill.
@TheGingerBill@SuperluminalSft To be clear, I'm not talking about streaming the actual work, but going back over an example of something you investigated, how you set up and used the tools, and what you saw in the results to drive to your solution. Yes, a stream of the raw work would be boring π.
@TheGingerBill, while you mentioned in an earlier reply that it would be boring to stream your performance analysis and optimization work with the Odin compiler, I believe it would be incredibly helpful if you walked through how you went about using @SuperluminalSft and Spall to diagnose what to work on.
@TheGingerBill@SuperluminalSft It may be boring to some, but there are precious few resources out there on how to do this work. There are those of us who would be more than happy to watch a "boring" version of how it's done. π
You specifically mentioned F#, which is a managed runtime with a Garbage Collector. My response was based on that class of FP languages.
If you want to expand the scope to include Rust, that's a different discussion. But even in your response, you mention that Rust is "mostly" FP, so you're not actually comparing pure FP; you're comparing "mostly" FP.
Can you be productive in a FP language? Yes. I've written much high-performance F#. It's a phenomenal language. There are performance scenarios that require you to step out of the FP paradigm, though. Even Rust has "unsafe".
@TheGingerBill@CFDevelop I can confirm that there is a potential for a massive performance boost moving from managed FP, to Odin. Any time you use a GC for memory and a runtime that enforces heavy use of pointers for memory indirection (i.e., Objects), you will never reach maximum performance.
@cmuratori I've been working on adopting the idea of Zero Is Initialization (ZII), but one area where I'm wrestling is Zero Handles.
You allude to them in this clip here:
https://t.co/wNMbtwSVKw
I was wondering if you could expand on how you implement them and use them? Perhaps on Computer Enhance?
@TheGingerBill Been working in it for several years now, and it's pure joy. If work continues to go well, I'm hoping to host a "chill-conf" in Europe next year for Odin devs to gather π
@nicbarkeragain@jakubtomsu_@its_bvisness Well, Clay + Raylib appears straightforward given the example you provide. Right now I'm figuring out how to get interactions to work, such as registering an 'OnClick' and 'OnHover'
@nicbarkeragain I confess I haven't looked into it deeply but I'm curios if Clay and RayGUI would be a good pairing? Clay as the layout engine and RayGUI as the projection of the result?
The snag I'm thinking of is text and wrapped text, though. I have a new project, and I am curious if this approach would be viable and coherent.
@jakubtomsu_@its_bvisness@nicbarkeragain I'm actually reading through more of the Clay docs now, and already provides a clear example of how Odin, Clay, and Raylib play together.
@jakubtomsu_@its_bvisness@nicbarkeragain I'm still curious how text interacts though. Since Clay isn't actually doing the drawing, how do you deal with the potential mismatch between what Clay computes and what actually gets rendered?
@its_bvisness@nicbarkeragain Well, that's unfortunate. My understanding of Clay is that it just handles the layout compute, not the drawing of elements, so you need something to map from the Clay result to a UI.
As a former βcode bodger,β I understand the perception that itβs faster to use someone elseβs code. Iβm actively thinking of a small course to show .NET devs how easy it is to move to Odin and roll your own collections/containers. At times, Iβm actually angry about the years I lost. π
This is why I said βdedicatedβ student. Obviously if someone isnβt paying attention, itβs hopeless. I can also accept prerequisites. In my field, if you donβt know Linear Algebra notation, you have no hope. But I find authors often leave out critical details and I have to get several books on a subject and read them in parallel, hoping that between several references, all the details are covered.