Create temporary Native-Container on Job Execution with Allocator.Temp or Allocator.TempJob?

Sometimes, I need to create a native container (or unsafe container) inside my Job Execute() method. I’ve always used Allocator.TempJob for these allocations, but I’m unsure whether Temp or TempJob is better suited in this scenario.

I haven’t found much information about this in Unity’s documentation, and the articles I’ve read (like those by Jackson Dunstan) are somewhat outdated.

Could you share your understanding of the differences between Temp and TempJob in this context? Are there any other considerations I should keep in mind, or alternative approaches I could use?

Inside IJob.Execute always allocate using the Allocator.Temp. Why? Because Temp is the fastest allocator and there is no reason to use more costly ones there.

TempJob allocators are for very specific cases where you allocate on a main thread and immediately forward this allocation to a job for it to use and deallocate on completion.