Section 14/161 menit

14. Kapan Tidak Digunakan

14. Kapan Tidak Digunakan

  • TaskLocal untuk semua state: TaskLocal bukan pengganti parameter — gunakan hanya untuk cross-cutting concerns (logging, tracing, DI). Untuk state yang benar-benar dibutuhkan fungsi, tetap gunakan parameter.
  • Custom Executor tanpa kebutuhan nyata: Default cooperative thread pool sudah optimal untuk mayoritas use case. Custom executor menambah kompleksitas tanpa benefit jika tidak ada integration requirement.
  • Distributed Actors untuk komunikasi in-process biasa: Untuk komunikasi antar actor di proses yang sama, actor biasa sudah cukup. Distributed actors menambah overhead serialization/deserialization.
  • UnsafeContinuation tanpa benchmarking: Jangan pakai unsafe hanya karena terasa "lebih cepat". Benchmark dulu, baru optimize.
  • Custom AsyncSequence jika AsyncStream cukup: AsyncStream sudah handle banyak use case. Custom AsyncSequence hanya ketika butuh generic parameter, lazy iterator state yang kompleks, atau zero-allocation requirement.