This field asks how language models can solve tasks such as math, coding, science questions, and multi-hop retrieval without spending unnecessary computation. Common approaches compress or prune chain-of-thought, stop generation when answers stabilize, and adapt reasoning budgets to task difficulty; others use reinforcement learning, distillation, search, parallel sampling, or smaller-model routing. Newer work also explores latent reasoning and memory or KV-cache management to reduce the cost of generating and retaining explicit thoughts. The central tension is that extra reasoning can help on difficult problems but may waste resources, introduce errors, or even hurt accuracy, so methods are judged by both quality and cost on benchmarks such as GSM8K, MATH, AIME, and GPQA.