home.social

#garbagecollector — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #garbagecollector, aggregated by home.social.

  1. Oh, look! A toddler's journey into the wild world of memory management 🤯. "Baby's Second Garbage Collector"—because every fledgling coder needs a sequel to their first trash can 🗑️. Apparently, this is where your programming skills go to die of boredom. 💀
    matheusmoreira.com/articles/ba #toddlerCoding #memoryManagement #garbageCollector #programmingHumor #techJourney #HackerNews #ngated

  2. Oh, look! A toddler's journey into the wild world of memory management 🤯. "Baby's Second Garbage Collector"—because every fledgling coder needs a sequel to their first trash can 🗑️. Apparently, this is where your programming skills go to die of boredom. 💀
    matheusmoreira.com/articles/ba #toddlerCoding #memoryManagement #garbageCollector #programmingHumor #techJourney #HackerNews #ngated

  3. Oh, look! A toddler's journey into the wild world of memory management 🤯. "Baby's Second Garbage Collector"—because every fledgling coder needs a sequel to their first trash can 🗑️. Apparently, this is where your programming skills go to die of boredom. 💀
    matheusmoreira.com/articles/ba #toddlerCoding #memoryManagement #garbageCollector #programmingHumor #techJourney #HackerNews #ngated

  4. Oh, look! A toddler's journey into the wild world of memory management 🤯. "Baby's Second Garbage Collector"—because every fledgling coder needs a sequel to their first trash can 🗑️. Apparently, this is where your programming skills go to die of boredom. 💀
    matheusmoreira.com/articles/ba #toddlerCoding #memoryManagement #garbageCollector #programmingHumor #techJourney #HackerNews #ngated

  5. Oh, look! A toddler's journey into the wild world of memory management 🤯. "Baby's Second Garbage Collector"—because every fledgling coder needs a sequel to their first trash can 🗑️. Apparently, this is where your programming skills go to die of boredom. 💀
    matheusmoreira.com/articles/ba #toddlerCoding #memoryManagement #garbageCollector #programmingHumor #techJourney #HackerNews #ngated

  6. So thinking about asyncronous programming again and how I probably need to ditch #dlang's GC if I want performance and then it hit me:

    Why tf is std.socket.Socket an heap-allocated, gc'd class to begin with?!?!

    It dosn't uses syncronized that would require a classes monitor, nor does it hold any significant amount of data.

    • a socket_t (fancy 32-bit fd)
    • a ushort-enum for the address family (16-bit)
    • and an bool under windows, which in an asyncronous context we could remove since all will always be non-blocking

    So in sum it holds 48-bit of data, while an pointer on modern systems will always be 64-bit (classes are always pointers / by ref in dlang).

    Sure, it "uses" inheritance for 2 wrapper types TCPSocket and UDPSocket, which dont actually do anything other than pre-filling the type/protocol arguments in the constructor, which dont even survive after the call to socket(2)...

    Is the std really that badly engineered at times or am I going crazy???

    #dlang #programming #development #async #networking #garbagecollector

  7. So thinking about asyncronous programming again and how I probably need to ditch #dlang's GC if I want performance and then it hit me:

    Why tf is std.socket.Socket an heap-allocated, gc'd class to begin with?!?!

    It dosn't uses syncronized that would require a classes monitor, nor does it hold any significant amount of data.

    • a socket_t (fancy 32-bit fd)
    • a ushort-enum for the address family (16-bit)
    • and an bool under windows, which in an asyncronous context we could remove since all will always be non-blocking

    So in sum it holds 48-bit of data, while an pointer on modern systems will always be 64-bit (classes are always pointers / by ref in dlang).

    Sure, it "uses" inheritance for 2 wrapper types TCPSocket and UDPSocket, which dont actually do anything other than pre-filling the type/protocol arguments in the constructor, which dont even survive after the call to socket(2)...

    Is the std really that badly engineered at times or am I going crazy???

    #dlang #programming #development #async #networking #garbagecollector

  8. Was stuck the past week(s) in my #lisp implementation in #zig on #closures, as they provide an real challange with their capturing properties. Espc bc I didn't wanted to resort to using things like arbitary "rules" to restrict the language only for closure to work, or already implementing a tracing #garbagecollector for this.

    I rather choose to use #ARC (Atomically Reference counting) for this, which comes with a few problems. And as I found nobody that has solved this problem, I've come up with a solution to it myself: 'Switchable references with strongchain elemination'. A bit bulky name, and the technique is still in it's beginning, but when implemented in rust the compiler dosnt complain and valgrind dosn't detects any leaks.

    I've written a fairly big blogpost about it too, including not only the whole explanation how it works but also alternatives I've considered. Check it out if you're interested!

    Now I only need to translate it over to zig, but hopefully that dosnt take so long x3

    #coding #programming #software #oss #foss #ossdev #fossdev #lisp #zig #rust #softwaredevelopment #pldev #programminglanguages #referencecounting #rc #arc

  9. Was stuck the past week(s) in my #lisp implementation in #zig on #closures, as they provide an real challange with their capturing properties. Espc bc I didn't wanted to resort to using things like arbitary "rules" to restrict the language only for closure to work, or already implementing a tracing #garbagecollector for this.

    I rather choose to use #ARC (Atomically Reference counting) for this, which comes with a few problems. And as I found nobody that has solved this problem, I've come up with a solution to it myself: 'Switchable references with strongchain elemination'. A bit bulky name, and the technique is still in it's beginning, but when implemented in rust the compiler dosnt complain and valgrind dosn't detects any leaks.

    I've written a fairly big blogpost about it too, including not only the whole explanation how it works but also alternatives I've considered. Check it out if you're interested!

    Now I only need to translate it over to zig, but hopefully that dosnt take so long x3

    #coding #programming #software #oss #foss #ossdev #fossdev #lisp #zig #rust #softwaredevelopment #pldev #programminglanguages #referencecounting #rc #arc

  10. Was stuck the past week(s) in my #lisp implementation in #zig on #closures, as they provide an real challange with their capturing properties. Espc bc I didn't wanted to resort to using things like arbitary "rules" to restrict the language only for closure to work, or already implementing a tracing #garbagecollector for this.

    I rather choose to use #ARC (Atomically Reference counting) for this, which comes with a few problems. And as I found nobody that has solved this problem, I've come up with a solution to it myself: 'Switchable references with strongchain elemination'. A bit bulky name, and the technique is still in it's beginning, but when implemented in rust the compiler dosnt complain and valgrind dosn't detects any leaks.

    I've written a fairly big blogpost about it too, including not only the whole explanation how it works but also alternatives I've considered. Check it out if you're interested!

    Now I only need to translate it over to zig, but hopefully that dosnt take so long x3

    #coding #programming #software #oss #foss #ossdev #fossdev #lisp #zig #rust #softwaredevelopment #pldev #programminglanguages #referencecounting #rc #arc

  11. Was stuck the past week(s) in my #lisp implementation in #zig on #closures, as they provide an real challange with their capturing properties. Espc bc I didn't wanted to resort to using things like arbitary "rules" to restrict the language only for closure to work, or already implementing a tracing #garbagecollector for this.

    I rather choose to use #ARC (Atomically Reference counting) for this, which comes with a few problems. And as I found nobody that has solved this problem, I've come up with a solution to it myself: 'Switchable references with strongchain elemination'. A bit bulky name, and the technique is still in it's beginning, but when implemented in rust the compiler dosnt complain and valgrind dosn't detects any leaks.

    I've written a fairly big blogpost about it too, including not only the whole explanation how it works but also alternatives I've considered. Check it out if you're interested!

    Now I only need to translate it over to zig, but hopefully that dosnt take so long x3

    #coding #programming #software #oss #foss #ossdev #fossdev #lisp #zig #rust #softwaredevelopment #pldev #programminglanguages #referencecounting #rc #arc