JavaScript Academy · पाठ

प्रोफ़ाइलिंग का परिचय (Node/DevTools) — छोटी टाइमिंग आदतें

छोटे चरणों में प्रोफ़ाइल करें: console.time/timeEnd और सरल टाइमर से मापें, हॉट कोड खोजें, एक बार में एक चीज़ बदलें और फिर से मापें।

पाठ 3, कुल 3 में से8 चरण

प्रोफ़ाइलिंग का परिचय (Node/DevTools) — छोटी टाइमिंग आदतें, CoddyKit पर JavaScript Academy का एक निःशुल्क पाठ है। यह 3 में से 3वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह JavaScript Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। JavaScript Academy पाठ्यक्रम में कुल 3 पाठ शामिल हैं।

प्रोफ़ाइलिंग क्यों?

लक्ष्य: मापिए → बदलिए → फिर से मापिए।

  • त्वरित समय-मापन के लिए console.time/timeEnd का उपयोग कीजिए
  • मैन्युअल समय-मापन के लिए एक छोटा now() सहायक फ़ंक्शन उपयोग कीजिए
  • केवल गरम कोड पर ध्यान दीजिए
  • एक समय में एक ही बदलाव कीजिए
प्रोफ़ाइलिंग का परिचय (Node/DevTools) — छोटी टाइमिंग आदतें — चित्र 1

console.time का प्रदर्शन

console.time बताता है कि चिह्नित खंड को चलने में कितना समय लगा। यह शुरुआत करने का अच्छा पहला चरण है।

// Measure a small loop with console.time/timeEnd
console.time("sum");
let s = 0;
for (let i = 0; i < 100000; i = i + 1) {
  s = s + i;
}
console.timeEnd("sum");
console.log("sum value:", s);
प्रोफ़ाइलिंग का परिचय (Node/DevTools) — छोटी टाइमिंग आदतें — चित्र 2

मैन्युअल समय-मापन सहायक

मैन्युअल समय-मापन आपको किसी भी फ़ंक्शन को घेरकर समान इनपुट के साथ अलग-अलग चलनों की तुलना करने देता है।

// A tiny now() helper that works in many runtimes
const now = (typeof performance !== "undefined" && performance.now)
  ? function () { return performance.now(); }
  : function () { return Date.now(); };

// Time a function manually
function timeFn(label, fn) {
  const t1 = now();
  const out = fn();
  const t2 = now();
  console.log(label + " ms:", (t2 - t1));
  return out;
}

timeFn("small work", function () {
  let x = 0;
  for (let i = 0; i < 50000; i = i + 1) { x = x + i; }
  return x;
});
प्रोफ़ाइलिंग का परिचय (Node/DevTools) — छोटी टाइमिंग आदतें — चित्र 3

गरम कोड खोजिए

यह समझने के लिए कॉल और समय दर्ज कीजिए कि आपका ऐप अपना काम कहाँ कर रहा है; सबसे अधिक गरम फ़ंक्शन को पहले अनुकूलित कीजिए।

// Count calls and total time to find hot spots
const metrics = { calls: 0, totalMs: 0 };

function hotWork(n) {
  const t1 = now();
  let sum = 0;
  for (let i = 0; i < n; i = i + 1) {
    sum = sum + (i % 3);
  }
  const t2 = now();
  metrics.calls = metrics.calls + 1;
  metrics.totalMs = metrics.totalMs + (t2 - t1);
  return sum;
}

// Simulate usage
for (let k = 0; k < 5; k = k + 1) {
  hotWork(80000);
}
console.log("calls:", metrics.calls, "avg ms:", metrics.totalMs / metrics.calls);
प्रोफ़ाइलिंग का परिचय (Node/DevTools) — छोटी टाइमिंग आदतें — चित्र 4

बदलाव से पहले और बाद का समय-मापन

बदलाव से पहले और बाद में मापिए। समान इनपुट रखिए और केवल संख्याओं की तुलना कीजिए।

// Compare two approaches with the same input
const hay = [];
for (let i = 0; i < 2000; i = i + 1) { hay.push(String(i)); }

const needles = [];
for (let i = 0; i < 1000; i = i + 1) { needles.push(String(i * 2)); }

function slowIncludes() {
  let count = 0;
  for (const n of needles) {
    if (hay.includes(n)) { count = count + 1; }
  }
  return count;
}

function fastSet() {
  const set = new Set(hay);
  let count = 0;
  for (const n of needles) {
    if (set.has(n)) { count = count + 1; }
  }
  return count;
}

const c1 = timeFn("includes run", slowIncludes);
const c2 = timeFn("set.has run", fastSet);
console.log("counts:", c1, c2);
प्रोफ़ाइलिंग का परिचय (Node/DevTools) — छोटी टाइमिंग आदतें — चित्र 5

समय-मापन की अच्छी आदतें

सुझाव:

  • हर चलन में समान इनपुट का उपयोग कीजिए।
  • एक बार गर्म होने दीजिए, फिर मापिए।
  • समय-मापन के दौरान लॉग कम कीजिए।
  • एक चीज़ बदलिए और फिर से मापिए।
  • DevTools/Node में रिकॉर्डर होते हैं; शुरुआत सरल console.time से कीजिए।
प्रोफ़ाइलिंग का परिचय (Node/DevTools) — छोटी टाइमिंग आदतें — चित्र 6

console.time की मूल बातें प्रश्नोत्तरी

त्वरित जाँच: त्वरित समय-मापन उपकरण।

प्रोफ़ाइलिंग का परिचय (Node/DevTools) — छोटी टाइमिंग आदतें — चित्र 7

पुनरावलोकन

पुनरावलोकन: console.time और एक छोटे now() सहायक फ़ंक्शन से शुरुआत कीजिए। गरम कोड खोजिए, सरल बदलाव कीजिए, और समान इनपुट के साथ फिर से मापिए।

प्रोफ़ाइलिंग का परिचय (Node/DevTools) — छोटी टाइमिंग आदतें — चित्र 8
शुरुआत निःशुल्क

एआई शिक्षक के साथ JavaScript सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
59
पाठ
200

अक्सर पूछे जाने वाले प्रश्न

क्या “प्रोफ़ाइलिंग का परिचय (Node/DevTools) — छोटी टाइमिंग आदतें” पाठ निःशुल्क है?

हाँ — JavaScript Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “प्रोफ़ाइलिंग का परिचय (Node/DevTools) — छोटी टाइमिंग आदतें” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। JavaScript Academy पाठ्यक्रम में कुल 3 पाठ शामिल हैं।

“प्रोफ़ाइलिंग का परिचय (Node/DevTools) — छोटी टाइमिंग आदतें” में मैं क्या सीखूँगा?

छोटे चरणों में प्रोफ़ाइल करें: console.time/timeEnd और सरल टाइमर से मापें, हॉट कोड खोजें, एक बार में एक चीज़ बदलें और फिर से मापें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ JavaScript Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या JavaScript Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर JavaScript Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 3 में से 3वाँ पाठ है।

“प्रोफ़ाइलिंग का परिचय (Node/DevTools) — छोटी टाइमिंग आदतें” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस JavaScript Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर JavaScript Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. Big-O की मूल बातें, हॉट बनाम कोल्ड पाथ (शुरुआती लाभ)
  2. लीक से बचना — क्लोज़र, टाइमर और संदर्भ
  3. प्रोफ़ाइलिंग का परिचय (Node/DevTools) — छोटी टाइमिंग आदतें
← JavaScript Academy पर वापस जाएँ