ஒரு டெவலப்பர், மறைமுகமான npx தேடல் ஒவ்வொரு Claude Code சுழற்சிக்கும் (turn) சுமார் 10 வினாடிகளைச் சேர்த்திருப்பதை கண்டறிந்தார். அந்தத் தேடலுக்குப் பதிலாக உலகளாவிய நிறுவலை (global install) மாற்றியதன் மூலம் ஒவ்வொரு தொடர்பிலிருந்தும் ஆறு வினாடிகளைக் குறைத்தார்.

தாமதம் (latency) ஏன் முக்கியமானது

Claude Code டஜன் கணக்கான கூறுகளைக் கொண்ட ஒரு monorepo-வில் இயங்குகிறது, குறியீடுகளை (symbols) அட்டவணைப்படுத்துகிறது, Postgres-இல் உரையாடல்களைச் சேமிக்கிறது மற்றும் பிழை அறிக்கைகளை அனுப்புகிறது. மாடலின் பதில்கள் தாமதமாகத் தொடங்கும் வரை பணிப்பாய்வு (workflow) சீராகவே இருக்கும். ஒரு ஹெல்த் செக் (health check) மூலம் பல திறமையின்மையல்களும், ஒரு செலவு மிகுந்த நெட்வொர்க் அழைப்பும் (network call) வெளிப்பட்டன.

ஹெல்த் செக் எவற்றைக் கண்டறிந்தது

  • இரட்டை நிறுவல்கள் (Duplicate installations) – ஒரு நேட்டிவ் லான்ச்சர் மற்றும் காலாவதியான npm-global பதிப்பு ஆகிய இரண்டும் ஒன்றாக இருந்தன. அந்தப் பழைய நகலை நீக்கியதன் மூலம் தேவையற்ற பாத் லுக்அப் (path lookup) தவிர்க்கப்பட்டது.
  • பழுதான ஏஜென்ட் கோப்பு (Broken agent file) – விளக்கமில்லாத ஒரு கோப்பு, சரியான கோப்பின் பெயரைப் போலவே இருந்ததால், Claude Code அதைத் தவிர்த்தது. அந்தப் பழுதான பதிவை நீக்கியது குழப்பத்தைத் தீர்த்தது.
  • பயன்படுத்தப்படாத விரிவாக்கங்கள் (Unused extensions) – ஒருபோதும் இயங்காத ஒரு பிளகின் மற்றும் MCP சர்வர் ஆகியவற்றை முடக்கியதன் மூலம், ரன்டைம் பயன்பாடு (runtime footprint) குறைக்கப்பட்டது.
  • அதிகப்படியான “CLAUDE.md” கோப்புகள் – இந்தக் கோப்புகள் ஏற்கனவே குறியீட்டில் உள்ள தகவல்களை (உதாரணமாக, build commands) மீண்டும் மீண்டும் குறிப்பிட்டதால், மாடலுக்கு அனுப்பப்படும் தரவின் அளவு (payload) அதிகரித்தது. அவற்றைச் சுருக்கியதன் மூலம் அத்தியாவசியத் தகவல்கள் மட்டுமே எஞ்சியிருந்தன.

இந்தச் சுத்திகரிப்புகள் உதவின, ஆனால் மாடலின் ஒவ்வொரு பதிலுக்குப் பிறகும் இயங்கும் Stop hook மூலம் கிடைத்ததே மிகப்பெரிய வெற்றியாகும்.

மறைமுகமான npx வரி (tax)

Stop hook ஆறு தனித்தனி கட்டளைகளைச் செயல்படுத்துகிறது, ஒவ்வொன்றும் npx -y என்று தொடங்கும். -y ஃபிளாக் (flag), கட்டளையை இயக்குவதற்கு முன் புதிய பதிப்பு உள்ளதா என்று npm registry-ஐச் சரிபார்க்க npx-ஐக் கட்டாயப்படுத்துகிறது, இது ஒரு நெட்வொர்க் கோரிக்கையைத் தூண்டுகிறது. ஒவ்வொரு தேடலும் சராசரியாக 1.6 வினாடிகள் ஆனது, எனவே ஆறு அழைப்புகள் ஒவ்வொரு சுழற்சிக்கும் சுமார் 10 வினாடிகளைச் சேர்த்தன. நடைமுறையில், இந்த ஹூக்கின் ஒட்டுமொத்த தாமதம் 12 வினாடிகள் ஆக இருந்தது, நெட்வொர்க் சிக்கல்கள் ஏற்படும் போது இது அவ்வப்போது 113 வினாடிகள் வரை அதிகரித்தது.

எளிய தீர்வு

npx அழைப்புகளுக்குப் பதிலாக உலகளாவிய முறையில் நிறுவப்பட்ட பைனரியைப் (globally installed binary) பயன்படுத்தியதன் மூலம் ரெஜிஸ்ட்ரி தேடல் நீக்கப்பட்டது:

  • முன்பு: npx -y @invariance/gps → அழைப்பிற்கு 1.6 வினாடிகள்
  • பின்பு: gps (உலகளாவிய முறையில் நிறுவப்பட்டது) → அழைப்பிற்கு 0.7 வினாடிகள்

இந்த மாற்றம் Stop hook-ன் ரன்டைமை ஒவ்வொரு சுழற்சிக்கும் தோராயமாக 6 வினாடிகள் குறைத்தது மற்றும் ரிமோட் சரிபார்ப்பினால் ஏற்படும் மிகப்பெரிய அதிகரிப்புகளைத் தடுத்தது.

அடுத்து கவனிக்க வேண்டியவை

  • Hook timing – பயனர்களுக்குப் பாதிப்பு ஏற்படும் முன், தாமதத்தைக் கண்டறிய எந்தவொரு தனிப்பயன் ஹூக்குகளையும் (custom hooks) கண்காணிக்கவும்.
  • Dependency hygiene – இரட்டை நிறுவல்கள் மற்றும் பயன்படுத்தப்படாத விரிவாக்கங்களைத் தொடர்ந்து நீக்கவும்.
  • Configuration files – “CLAUDE.md” கோப்புகளைச் சுருக்கமாக வைத்திருக்கவும்; மாடலால் தானாகவே கண்டறிய முடியாத தகவல்களை மட்டுமே அதில் சேர்க்கவும்.

பாடம் எளிமையானது: தானியங்கி முறைகள் (automation) அதிகச் செலவு பிடிக்கும் சிக்கல்களை மறைக்கக்கூடும். ஒரு விரைவான ஹெல்த் செக், ஒரு சீரான AI உதவியாளரை மந்தமான ஒன்றாக மாற்றும் மறைமுக நெட்வொர்க் அழைப்புகளை வெளிச்சம் போட்டுக் காட்டும்.

முக்கியக் குறிப்பு: Claude Code மெதுவாகத் தோன்றினால், ஹூக்குகளின் நேரத்தைக் கணக்கிட்டு, எந்தவொரு npx தேடல்களையும் நீக்கவும்; ஒரு உலகளாவிய நிறுவல் ஒவ்வொரு சுழற்சியிலிருந்தும் வினாடிகளைக் குறைத்து உங்கள் மேம்பாட்டுப் பணியை (development flow) தடையின்றித் தொடர உதவும்.