आपको तेज़ CPU क्यों खरीदना चाहिए
(blog.howardjohn.info)- पिछले कुछ वर्षों में CPU performance में तेज़ी से सुधार हुआ है, लेकिन कई developers अब भी पुराने mobile chips इस्तेमाल कर रहे हैं, जिससे productivity घट रही है
- AI coding subscription services की सालाना लगभग $500 लागत उचित मानी जा रही है, जो इस बात का market signal है कि software engineer productivity की इतनी value है
- इसके विपरीत top-tier CPU (AMD Ryzen 9 9950X) को $500 में खरीदा जा सकता है, और 3 साल के depreciation के हिसाब से इसकी सालाना लागत लगभग $170 होती है, जो AI subscription की तुलना में कहीं अधिक किफायती है
- Benchmark नतीजों में, latest desktop CPU ने पुराने laptop CPU की तुलना में 10 गुना से अधिक तेज़ performance दिखाई, जिससे build और test speed में बड़ा सुधार होता है
- इसलिए अगर AI subscription को उचित ठहराया जा सकता है, तो developer productivity को अधिकतम करने के लिए सबसे अच्छा निवेश एक तेज़ CPU है
CPU और उत्पादकता
- Latest CPU, 3 साल पहले की तुलना में लगभग 3 गुना बेहतर हैं, और desktop CPU, laptop की तुलना में लगभग 3 गुना तेज़ हैं
- Cloud VM भी हर generation बदलने पर 2~3 गुना बेहतर होते हैं, जबकि कीमत लगभग समान रहती है
- इसलिए CPU upgrade, लंबी अवधि की productivity सुनिश्चित करने का सबसे भरोसेमंद तरीका है
लागत के मुकाबले मूल्य की तुलना
- AI coding tool subscription services (जैसे Cursor) लोकप्रिय हो रही हैं, और team plan की कीमत सालाना लगभग $480~500 है
- दूसरी services भी लगभग इसी price range में हैं, यानी engineering productivity की न्यूनतम वार्षिक value लगभग $500 मानी जा रही है
- Top-end CPU AMD Ryzen 9 9950X की कीमत $500 है
- अगर मानें कि कोई कंपनी development machine की लागत को 3 साल में straight-line depreciation से amortize करती है, तो यह सालाना $170 के स्तर पर पड़ता है
- Engineer की salary के मुकाबले सिर्फ 1% productivity improvement भी इसे cost-effective बनाता है
Benchmark परिणाम
- नीचे दी गई 3 तरह की machines पर Linux kernel compilation और TLS operations का benchmark किया गया
- 2024 में कंपनी द्वारा दिया गया laptop (i7-1165G7, 2020 में जारी)
- 2024 में खरीदा जा सकने वाला सबसे तेज़ ThinkPad (AMD Ryzen 7840U)
- 2025 में खरीदा जा सकने वाला सबसे तेज़ desktop CPU (AMD Ryzen 9950X)
-
Linux Kernel Compilation 6.15 (समय इकाई, कम होना बेहतर)
- AMD Ryzen 9 9950X (16-core): 48 सेकंड
- AMD Ryzen 7 7840U: 194 सेकंड
- Intel Core i7-1165G7: 349 सेकंड
→ Latest desktop, पुराने laptop की तुलना में लगभग 7 गुना तेज़
-
OpenSSL 3.3 (AES-256-GCM, throughput इकाई, अधिक होना बेहतर)
- AMD Ryzen 9 9950X: 386.1 अरब byte/s
- AMD Ryzen 7 7840U: 69.6 अरब byte/s
- Intel Core i7-1165G7: 33.4 अरब byte/s
→ Latest desktop, पुराने laptop की तुलना में 11~12 गुना से अधिक तेज़
- नतीजा: Linux kernel compilation और TLS operations में 10 गुना से अधिक performance gap की पुष्टि हुई
- उदाहरण: build time का 30 सेकंड → 3 सेकंड, या 3 सेकंड → 300ms हो जाना काम के अनुभव को ही बदल देता है
निष्कर्ष
- सामान्य अनुभव के आधार पर
- Desktop CPU, laptop CPU की तुलना में लगभग 3 गुना तेज़ हैं
- Top-end CPU, 3 साल पहले के समान श्रेणी के models की तुलना में लगभग 3 गुना तेज़ हैं
- Cloud VM में भी यही रुझान दिखता है; हर generation में अधिकांश workloads पर 2~3 गुना speed-up मिलता है, जबकि कीमत लगभग नहीं बदलती
- अगर AI subscription एक उचित निवेश है, तो समान या उससे कम लागत में top-tier CPU खरीदना भी उचित ठहराया जा सकता है
- Developer productivity बढ़ाने का सबसे प्रभावी tool एक तेज़ CPU है
10 टिप्पणियां
1 मिनट से कम में kernel compile... यह तो वाकई खुशी की बात होगी।
हुह.... ऐसा लगता है जैसे कल ही compile चलाकर 10-20 मिनट गप्पें मारी थीं.... और अब 1 मिनट....
आखिरकार, तेज़ CPU के साथ कई hidden cost आती हैं
मुझे CPU की तुलना में RAM की कमी ज़्यादा आसानी से महसूस होती है।
क्या नवीनतम desktop की तुलना पुराने laptop से करना सही है?
शुरुआत से ही लेख का आशय शायद यह गंभीरता से कहना नहीं होगा कि 9950X ज़रूर खरीदना चाहिए, है न? शायद यह मज़ाक जैसा ही होगा? lol
फिर bhi, बहुत पुराना CPU सचमुच development में रुकावट डालता है।
मैं भी कभी-कभी मुख्य लेख में बताए गए पुराने laptop जैसे CPU पर development करता हूँ, और फ़ोकस में सचमुच बहुत बड़ा फ़र्क पड़ता है।
मेरा मानना है कि benchmark डेटा के बिना 3 साल में 3 गुना performance improvement का दावा बढ़ा-चढ़ाकर किया गया है।
मेरा ख़याल है कि मकसद सिर्फ़ specs की तुलना करना नहीं था, बल्कि शायद CPU के हिसाब से होने वाली efficiency की बात करना था. हा हा
आह.. 9950X.. 10 लाख won देकर खरीदा था...
Hacker News राय
जब मैं पहले FAANG में काम करता था, तब हमने डेवलपर्स को 16GB और 64GB मशीनें देने पर वास्तविक काम के आधार पर wait time में कमी, डेवलपर labor cost के मुकाबले ROI आदि की गणना की थी। खासकर senior डेवलपर्स के लिए कुछ ही हफ्तों में निवेश का असर दिखने लगता था। इसी अनुभव के आधार पर मुझे लगता है कि software engineers के लिए hardware उपलब्ध कराते समय लगभग हमेशा सबसे उच्च spec वाला Macbook Pro देना और उसे हर 2-3 साल में बदलना तर्कसंगत है। ध्यान रहे कि यह desktop के अलावा या दूसरी job roles पर लागू न भी हो सकता है।
संख्यात्मक रूप से यह उचित लगता है, लेकिन क्या डेवलपर productivity को इतनी सरलता से मापा जा सकता है, इस पर संदेह है। कुछ psychology research यह भी कहती हैं कि हर व्यक्ति के पास दिन भर में इस्तेमाल करने योग्य concentration की कुल मात्रा लगभग सीमित होती है। मेरा अपना अनुभव है कि wait time के दौरान हल्का-सा break लेकर अगली deep thinking के लिए energy बचाई जा सकती है।
जिन FAANG दोस्तों को मैं जानता हूँ, उनमें से ज्यादातर remote server पर काम करते हैं। remote editing, remote build सामान्य बात है, और build सैकड़ों-हज़ारों network builders पर चलता है। local machine को तेज़ कर देने से वास्तव में बहुत कम फर्क पड़ता है।
FAANG कंपनियाँ PC का central management करती हैं। इस स्तर की monitoring के ethical मुद्दों को फिलहाल छोड़ भी दें, तो वास्तविक असर को verify करने के लिए मैं OS memory usage limit करना, PR की संख्या, keyboard पर active बिताया गया समय जैसे व्यावहारिक metrics track करना चाहूँगा।
Macbook Pro के बजाय मैं एक सही Linux desktop पर काम करना चाहता हूँ। काम के PC में heat के कारण धीमे पड़ने वाले mobile chips से ऊब चुका हूँ।
मंशा समझ में आती है, लेकिन व्यवहार में project completion time तक का भी सही अनुमान लगाना मुश्किल होता है। तेज़ computer वास्तव में “समय बचाता है” ऐसा कम ही होता है। अंततः मामला अक्सर “यह चल पाएगा या नहीं” जैसी binary समस्या का होता है, या फिर ऐसे environmental factor का, जो बेकार के इंतज़ार से बार-बार frustration पैदा करते हैं। सिर्फ़ $1,000 में रोज़ के 10 मिनट के इंतज़ार को हटाया जा सकता है।
यह सोचने वाली बात है कि पुराने CPU का इस्तेमाल जारी रखना ठीक है या नहीं। मैं अभी भी 2016 में आया 6600(65W) अपने main PC के रूप में इस्तेमाल कर रहा हूँ। SSD भी बदली है (2011 की SLC SSD, durability की उम्मीद में), और 32GB memory भी aliexpress से सस्ते में upgrade की। monitor भी 15 साल इस्तेमाल किए गए Eizo FlexScan 1932 से RadiForce 191M पर बदला। यह f.lux या redshift जैसे blue light reduction software के साथ अच्छी तरह चलता है। एक low-power 3050 graphics card से इस साल के गेम भी 60fps पर आसानी से चल जाते हैं। compilation में भी कोई समस्या नहीं। मुझे लगता है कि motherboard के पहले खराब होने तक इसे चलाते रहना तर्कसंगत है।
मैं भी E5-2650v2 को चीनी mATX board पर कई साल पहले server से निकाले गए $50 के second-hand हिस्से के रूप में इस्तेमाल कर रहा हूँ। 970 Evo SSD, 24GB mismatched DDR3, home server और dev environment (containerized Incus) सब कवर हो जाता है। हर साल सोचता हूँ कि अब बदल दूँ, लेकिन असल में यह अभी भी काफ़ी अच्छा चल रहा है, इसलिए बदलने की ज़रूरत महसूस नहीं होती।
2011 की pure SLC SSD की तुलना में आज आप बड़े SLC cache वाली नई SSD और भी सस्ते में खरीद सकते हैं।
यह वास्तव में इस बात पर बहुत निर्भर करता है कि आप मशीन किस काम के लिए इस्तेमाल करते हैं। मैं 17 साल पुराने 2.4GHz Core 2 Duo laptop और 4GB RAM पर भी रोज़मर्रा का काम आराम से कर लेता हूँ। बहुत से लोग ऐसी setup स्वीकार नहीं कर पाते, क्योंकि उनका काम अक्सर कहीं अधिक भारी होता है।
यह इस बात पर निर्भर करता है कि आप कौन-से गेम खेलते हैं। मैं पहले 7700k इस्तेमाल करता था, लेकिन Factorio उसके लिए भारी पड़ने लगा, इसलिए 5700X3D पर गया। Path of Exile 2 में तो latest CPU के साथ भी बड़े combats में 30fps मुश्किल से बना रहता है।
मैं कम heat वाला setup पसंद करता हूँ, इसलिए 2 साल पहले Ryzen 5700 पर upgrade किया। सभी cores का उपयोग कम ही होता है, और cooling performance की वजह से fan noise लगभग सुनाई नहीं देती।
CPU value का एक inflection point होता है। 1) ऐसे CPU जो 10 साल तक अधिकांश काम ठीक-ठाक संभाल सकें, 2) कभी-कभी ऐसे CPU भी आते हैं जिन्हें लंबे समय तक अपने successor models से भी बेहतर real-world performance वाला माना जाता है। i7-4770 इसका प्रतिनिधि उदाहरण था, और 10th gen तक के कई बाद के models से भी बेहतर उपयोग में रहा। i7-12700 आने पर जाकर एक मिलती-जुलती replacement आई, और i5-12400 value-for-money के लिए recommend किया जा सकता है। 13th gen से Intel ने E/P core structure अपनाया, और मुझे अब भी लगता है कि 12th gen नए desktop के लिए ज़्यादा उपयुक्त है। AMD Ryzen 9950x भी कमाल का chip है; मैंने इसे एक दोस्त की custom build में लगाया था, और लगता है कि वह 2035 तक भी चलेगा।
बड़ी कंपनियाँ economies of scale चाहती हैं। वे एक ही spec वाले बहुत सारे computers एक साथ खरीदती हैं और कई सालों तक सभी को वही मशीन देती हैं। इससे manufacturers (Dell, HP) unit price बहुत कम करके supply करते हैं। आम consumer की तुलना में आधे से भी कम दाम पर बहुत उच्च spec वाले PC खरीदे जा सकते हैं, लेकिन spec fixed रहने पर समय के साथ वे धीरे-धीरे धीमे लगने लगते हैं।
मूल लेख ने कुछ महत्वपूर्ण चरण छोड़ दिए थे — तेज़ CPU वास्तव में डेवलपर performance को कितना प्रभावित करता है, इसकी पर्याप्त व्याख्या नहीं थी। अगर compile time 30 सेकंड है, तो डेवलपर email या social media देखने लग सकता है और उसका flow टूट जाता है। उसे 3 सेकंड तक घटा देने से “flow” बनाए रखने में बहुत बड़ा असर हो सकता है। लेकिन CPU speed बढ़ाकर compile time घटाने की methodology गायब थी। उदाहरण के लिए, अगर compiler का bottleneck IO या RAM हो, तो सिर्फ़ CPU upgrade करने की भी सीमा है। अंततः एक bottleneck हटता है, तो अगला bottleneck सामने आता है, और overall performance gain की भी सीमा होती है।
मेरे boss ने मुझे सबसे ताकतवर server दिलाया था, जिसकी कीमत $15,000 थी। जब मैंने 56 cores में से 40 से ज़्यादा इस्तेमाल किए, तो build time बढ़ गया या फ़ायदा बहुत कम मिला। अंत में निष्कर्ष यही लगा कि bottleneck memory bandwidth है, लेकिन इसे साबित कैसे करूँ, यह नहीं पता।
मुझे नहीं लगता कि compiler का bottleneck अक्सर IO होता है। RAM bottleneck हो सकती है, लेकिन नए CPU RAM के साथ data exchange speed भी बढ़ाते हैं, इसलिए आंशिक रूप से यह हल हो सकता है। सिर्फ़ LSP (Language Server Protocol) response speed का 2x तेज़ होना भी flow बनाए रखने में बहुत मदद करता है।
यह भी ध्यान रखना चाहिए कि compile में cores बढ़ाने पर भी linker (link time) व्यावहारिक रूप से single-core पर ही निर्भर रहता है, इसलिए असली bottleneck वही बन जाता है।
आजकल compiler bottleneck से ज़्यादा परेशानी Microsoft MFA जैसी चीज़ों से होती है, जहाँ phone निकालना पड़ता है, या PIM के जरिए temporary permission का इंतज़ार करना पड़ता है। वह दौर निकल चुका है जब 30 सेकंड का compile wait सबसे बड़ा delay हुआ करता था।
आजकल सिर्फ़ hardware upgrade करके 30 सेकंड को 3 सेकंड बना देना इतना आम नहीं है। हाँ, अगर शुरुआती खरीद बहुत ही low-end रही हो तो अलग बात है। लेख laptop और desktop की तुलना कर रहा है, तो फिर निष्कर्ष “दो computers खरीदो” जैसा होना चाहिए।
जब भी मैं नया desktop बनाता हूँ, मैं हमेशा top-tier performance को प्राथमिकता देता हूँ, साथ में cache और power consumption भी देखता हूँ (एक समय power consumption पर और ज़्यादा ध्यान देता था)। पुराने dual Pentium Pro के ज़माने से लेकर हाल के Xeon E3-1245 v3 तक (जिसे 2012 में 32GB top-end RAM के साथ जोड़ा था), यह सब अभी हाल तक थोड़ा धीमा महसूस होना शुरू हुआ है, और शायद इसका मुख्य कारण Windows security patches हैं। शुरू में कुछ सौ डॉलर ज़्यादा खर्च करने से system बहुत लंबे समय तक काम आता है।
एक महत्वपूर्ण बात जो लेखक से छूट गई: laptop CPU की चर्चा करते हुए एक बात का ज़िक्र नहीं किया गया। high-end laptops में thermal limit सबसे बड़ा constraint होती है। बेहतर CPU हो तो भी ज़्यादा efficient वाला विकल्प अधिक फ़ायदेमंद होता है। brand चुनते समय सही cooling design वाले मॉडल चुनना महत्वपूर्ण है।
laptop के अंदर high-end desktop CPU जैसी cooling और power देना भौतिक रूप से लगभग असंभव है। लगभग एकमात्र तरीका external liquid cooling loop port जोड़ना है, लेकिन उस स्थिति में desktop लेना ही बेहतर है। desktop के peripherals, multi-monitor setup जैसी सुविधाओं को भी ध्यान में रखना चाहिए। समझना मुश्किल है कि इतने सारे developers आखिर laptop पर ही काम क्यों करना चाहते हैं। शायद apple logo का असर बड़ा है।
(शर्मीलेपन से fanless Macbook Air पर development करता हुआ मैं...)
यह काम के प्रकार पर निर्भर करता है। मैंने हाल ही में 24-core CPU के साथ कई लाख रुपये का नया PC बनाया, और docker में gcc build बहुत तेज़ हो गया। लेकिन Angular app build पुराने MacBook की तुलना में थोड़ा धीमा हो गया। libraries को split किया, turbo से parallel optimization भी किया, फिर भी अगर CSS change को browser में reflect होने में 6-10 सेकंड लगें तो यह सचमुच पीड़ादायक है। यह जमा होकर चिढ़ और थकान बढ़ाता है।
C/C++ जैसे multi-core use cases में performance difference निश्चित रूप से महसूस होता है। लेकिन 16-core AMD Ryzen 9 9950X की single-core performance पुराने 4-core i5 laptop से सिर्फ़ 1.8x तेज़ है, CPU benchmark comparison देखें. अच्छा होगा अगर भविष्य में 1000-core ARM PC और 1TB memory वाले system आ जाएँ, ताकि बड़े LLM training या experiments संभव हों। अगर कोई ऐसा बनाए, तो मुझे ज़रूर बताए।
मैंने भी पुराने i3770 (12 साल पुराना CPU) से सीधे 9900x पर jump किया। benchmark में single-core performance सिर्फ़ 50% बेहतर दिखती है, लेकिन वास्तविक उपयोग में यह दोगुना तेज़ लगता है। multi-thread में लगभग 3x। हाल ही में Mac Mini M4 भी इस्तेमाल किया, लेकिन अनुभव के हिसाब से यह इन दोनों desktop machines की तुलना में बहुत धीमा लगा (मुख्यतः UI/software issues के कारण)। M4 मैं सिर्फ़ Xcode के लिए इस्तेमाल करता हूँ।
मैंने भी Intel 5th gen से ऊपर की कई generations छोड़कर नया laptop खरीदा, और performance से भी ज़्यादा महत्वपूर्ण बदलाव यह था कि भारी पुराने workstation से हटकर एक छोटे, हल्के, बिना fan noise वाले laptop पर आ गया, जिसे सिर्फ़ USB-C adapter से चार्ज किया जा सकता है। performance लगभग समान है, लेकिन usability का अंतर बहुत स्पष्ट है।
कंपनियाँ, खासकर FANG भी, डेवलपर hardware पर cost saving को लेकर ज़रूरत से ज़्यादा obsessed होती हैं। monitor की संख्या/size पर limits, ergonomic equipment के लिए approvals या doctor notes की ज़रूरत, high-performance hardware requests के लिए approval process, travel/hotel/airfare caps जिनमें inflation का ध्यान नहीं रखा गया — ऐसी कई policies होती हैं। निश्चित रूप से कुछ लोग ऐसे भी होते हैं जो बिना कोई वास्तविक काम किए सिर्फ़ high-spec MacBook लेकर 500 Chrome tabs खोलकर बैठते हैं; ऐसा misuse सच में होता है। लेकिन फिर भी यह सालाना डेवलपर salary की तुलना में बहुत छोटा खर्च है।
जिन सफल startups का मैंने अनुभव किया, वे शुरुआत में मनचाहा gear, monitor, chair, standing desk, SaaS, late-night work पर DoorDash तक सब दिलाते थे। लेकिन फिर ऐसा चरण आता था जब लगभग 25% कर्मचारी इसका गंभीर दुरुपयोग करने लगते थे, और जैसे ही कंपनी cost देखने लगती थी, restrictions शुरू हो जाती थीं। MacBook Pro, महंगे monitors, standing desk, iPad, office chair — सब मिलाकर प्रति व्यक्ति आसानी से हज़ारों से लेकर दसियों हज़ार डॉलर तक खर्च हो जाते हैं। कंपनी policies को कुछ लोग हमेशा limit तक push करने की कोशिश करते हैं। equipment loss भी बढ़ जाता है, और यहाँ तक कि food delivery पाने के लिए जानबूझकर office से देर से निकलना जैसी छोटी-मोटी धांधलियाँ भी होने लगती हैं।
किसी FAANG IT team ने कई सालों से 250GB से बड़ी SSD के लिए “out of stock” का बहाना बना रखा है। कहा जाता है कि यह global supply issue है, लेकिन वास्तव में यह procurement team की अक्षमता लगती है। बहुत से engineers chat rooms में शिकायत करते हैं, और $300k से अधिक salary पाने वाले developers अपनी जेब से SSD खरीदकर लगा लेते हैं और IT team को बताते भी नहीं — यह लगभग सामान्य बात है। दूसरी तरफ उसी कंपनी में 100TB cloud VM एक click में मिल जाती है। यह विरोधाभास मज़ेदार है, लेकिन सब इसे स्वीकार कर चुके हैं।
जब कर्मचारियों की संख्या दसियों हज़ार या उससे अधिक हो, तो पूरी तरह unrestricted hardware/travel spending जमा होकर बहुत बड़ी रकम बन सकती है, इसलिए कुछ constraints ज़रूरी हैं। पैसे के प्रति लापरवाह एक छोटा समूह भी कंपनी को नुकसान पहुँचा सकता है।
अगर 500 Chrome tabs काम से संबंधित हैं, तो यह productivity में मदद है, misuse नहीं। मेरी labor cost laptop की कीमत से 100 गुना ज़्यादा है, इसलिए अगर laptop मेरा काम कम कर सकता है, तो मैं चाहूँगा कि उस मशीन पर ज़्यादा काम डाला जाए।
high-spec equipment का misuse बहुत जल्दी दसियों हज़ार से लेकर लाखों डॉलर तक फैल सकता है। सिर्फ़ Apple Store के हिसाब से top-spec 14-inch MacBook Pro की कीमत $7,000 से ऊपर है। mid-range spec वाला model भी $2,600-$3,000 में काम के लिए पर्याप्त है, और उससे ऊपर के खर्च से वास्तविक productivity gain बहुत कम हो सकता है। यही price difference अगर 20-60 लोगों की टीम पर multiply हो जाए तो startup के लिए बड़ा बोझ बन जाता है। monitor/chair जैसी चीज़ें जोड़ें तो अगर प्रति व्यक्ति सिर्फ़ $2,000 भी अनावश्यक रूप से खर्च हो, तो एक बार में $120,000 अतिरिक्त खर्च बनता है। वास्तव में ऐसी कंपनियाँ भी रही हैं जहाँ “ज़रूरत हो तो कुछ भी खरीद लो” policy 150 कर्मचारियों तक चलती रही।
इसमें इतनी ज़्यादा सपनों जैसी बातें लिखी हैं कि चक्कर सा आ जाता है।