News for hackers. Stuff that matters.
Re:Rust: Dropping heavy things in another thread can make yo... by saurik on Saturday May 30, 2020 @03:29PM (#23363887)
Apple's pools are for helping manage reference counts of returned objects (via autorelease) but aren't doing pool allocation (as any of those objects could escape, so you can't do the fast thing of just deallocating the pool). The normal memory allocator is used while in the scope of an autorelease pool.
Re:Rust: Dropping heavy things in another thread can make yo... by projektfu on Saturday May 30, 2020 @06:21PM (#23365309)
True, I was thinking the same after I posted. Maybe I’m thinking more of Apache’s approach and how it gets some of the benefits of a fork-per-request server without the overhead.
Re:Rust: Dropping heavy things in another thread can make yo... by andrekandre on Saturday May 30, 2020 @09:27PM (#23366420)
right, so if you do

@autoreleasePool { [[[SomeObject alloc] init] autorelease]; }//someobject is release after exiting this scope

//inside main runloop, not inside @autorelease{} [[[AnotherObject alloc] init] autorelease];

//AnotherObject will be release at end of main runloop

[[NotAutoreleased alloc] init]; //will leak past runloop iteration

is that understanding correct?