Profiling (computer programming)
ಸಾಫ್ಟ್ವೇರ್ ಎಂಜಿನಿಯರಿಂಗ್ನಲ್ಲಿ, ಪ್ರೊಫೈಲಿಂಗ್ ("ಪ್ರೋಗ್ರಾಂ ಪ್ರೊಫೈಲಿಂಗ್", "ಸಾಫ್ಟ್ವೇರ್ ಪ್ರೊಫೈಲಿಂಗ್") ಎಂಬುದು ಕ್ರಿಯಾತ್ಮಕ ಪ್ರೋಗ್ರಾಂ ವಿಶ್ಲೇಷಣೆಯ ಒಂದು ರೂಪವಾಗಿದ್ದು, ಇದು ಪ್ರೋಗ್ರಾಂನ ಸ್ಥಳ (ಮೆಮೊರಿ) ಅಥವಾ ಸಮಯದ ಸಂಕೀರ್ಣತೆ, ನಿರ್ದಿಷ್ಟ ಸೂಚನೆಗಳ ಬಳಕೆ, ಅಥವಾ ಆವರ್ತನ ಮತ್ತು ಅವಧಿಯನ್ನು ಅಳೆಯುತ್ತದೆ. ಸಾಮಾನ್ಯವಾಗಿ, ಪ್ರೊಫೈಲಿಂಗ್ ಮಾಹಿತಿಯು ಪ್ರೋಗ್ರಾಂ ಆಪ್ಟಿಮೈಸೇಶನ್ ಮತ್ತು ಹೆಚ್ಚು ನಿರ್ದಿಷ್ಟವಾಗಿ, ಕಾರ್ಯಕ್ಷಮತೆಯ ಎಂಜಿನಿಯರಿಂಗ್ಗೆ ಸಹಾಯ ಮಾಡುತ್ತದೆ. ಪ್ರೊಫೈಲಿಂಗ್ ಅನ್ನು ಪ್ರೊಗ್ರಾಮ್ ಮೂಲ ಕೋಡ್ ಅಥವಾ ಅದರ ಬೈನರಿ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ರೂಪವನ್ನು ಪ್ರೊಫೈಲರ್ (ಅಥವಾ ಕೋಡ್ ಪ್ರೊಫೈಲರ್) ಎಂಬ ಸಾಧನವನ್ನು ಬಳಸಿಕೊಂಡು ಸಾಧನ ಮಾಡುವ ಮೂಲಕ ಸಾಧಿಸಲಾಗುತ್ತದೆ. ಪ್ರೊಫೈಲರ್ಗಳು ಘಟನೆ-ಆಧಾರಿತ, ಸಂಖ್ಯಾಶಾಸ್ತ್ರೀಯ, ಸಲಕರಣೆ ಮತ್ತು ಸಿಮ್ಯುಲೇಶನ್ ವಿಧಾನಗಳಂತಹ ಹಲವಾರು ವಿಭಿನ್ನ ತಂತ್ರಗಳನ್ನು ಬಳಸಬಹುದು. ಪ್ರೊಫೈಲರ್ಗಳು ದತ್ತಾಂಶವನ್ನು ಸಂಗ್ರಹಿಸಲು ಹಾರ್ಡ್ವೇರ್ ಅಡಚಣೆಗಳು, ಕೋಡ್ ಇನ್ಸ್ಟ್ರುಮೆಂಟೇಶನ್, ಇನ್ಸ್ಟ್ರಕ್ಷನ್ ಸೆಟ್ ಸಿಮ್ಯುಲೇಶನ್, ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಹುಕ್ಗಳು ಮತ್ತು ಪರ್ಫಾರ್ಮೆನ್ಸ್ ಕೌಂಟರ್ಗಳು ಸೇರಿದಂತೆ ವಿವಿಧ ತಂತ್ರಗಳನ್ನು ಬಳಸುತ್ತಾರೆ. ಪ್ರೊಫೈಲರ್ಗಳ ಬಳಕೆ ಪ್ರೊಫೈಲರಿನ ಔಟ್ಪುಟ್ ಹೀಗಿರಬಹುದುಃ ವೀಕ್ಷಿಸಿದ ಘಟನೆಗಳ ಸಂಖ್ಯಾಶಾಸ್ತ್ರೀಯ ಸಾರಾಂಶ (ಪ್ರೊಫೈಲ್) ಸಾರಾಂಶ ಪ್ರೊಫೈಲ್ ಮಾಹಿತಿಯನ್ನು ಆಗಾಗ್ಗೆ ಘಟನೆಗಳು ಸಂಭವಿಸುವ ಮೂಲ ಕೋಡ್ ಹೇಳಿಕೆಗಳಿಗೆ ವಿರುದ್ಧವಾಗಿ ಟಿಪ್ಪಣಿ ಮಾಡಲಾಗುತ್ತದೆ, ಆದ್ದರಿಂದ ಮಾಪನ ಡೇಟಾದ ಗಾತ್ರವು ಪ್ರೋಗ್ರಾಂನ ಕೋಡ್ ಗಾತ್ರಕ್ಕೆ ರೇಖೀಯವಾಗಿರುತ್ತದೆ. / *------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ (ಪೂರ್ಣ) ಜಾಡಿನ ಗಾತ್ರವು ಕಾರ್ಯಕ್ರಮದ ಸೂಚನಾ ಪಥದ ಉದ್ದಕ್ಕೆ ರೇಖೀಯವಾಗಿರುತ್ತದೆ, ಇದು ಸ್ವಲ್ಪಮಟ್ಟಿಗೆ ಅಪ್ರಾಯೋಗಿಕವಾಗಿದೆ. ಆದ್ದರಿಂದ ಔಟ್ಪುಟ್ ಅನ್ನು ಮಿತಿಗೊಳಿಸಲು ಪ್ರೋಗ್ರಾಂನ ಒಂದು ಹಂತದಲ್ಲಿ ಟ್ರೇಸ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಬಹುದು ಮತ್ತು ಇನ್ನೊಂದು ಹಂತದಲ್ಲಿ ಕೊನೆಗೊಳಿಸಬಹುದು. ಹೈಪರ್ವೈಸರ್ನೊಂದಿಗೆ ನಡೆಯುತ್ತಿರುವ ಸಂವಹನ (ಉದಾಹರಣೆಗೆ ಆನ್-ಸ್ಕ್ರೀನ್ ಪ್ರದರ್ಶನದ ಮೂಲಕ ನಿರಂತರ ಅಥವಾ ನಿಯತಕಾಲಿಕ ಮೇಲ್ವಿಚಾರಣೆ) ಇದು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಸಮಯದಲ್ಲಿ ಯಾವುದೇ ಅಪೇಕ್ಷಿತ ಹಂತದಲ್ಲಿ ಜಾಡು ಆನ್ ಅಥವಾ ಆಫ್ ಮಾಡಲು ಅವಕಾಶವನ್ನು ಒದಗಿಸುತ್ತದೆ ಜೊತೆಗೆ (ಇನ್ನೂ ಕಾರ್ಯಗತಗೊಳ್ಳುತ್ತಿರುವ) ಕಾರ್ಯಕ್ರಮದ ಬಗ್ಗೆ ನಡೆಯುತ್ತಿರುವ ಮಾಪನಗಳನ್ನು ವೀಕ್ಷಿಸುತ್ತದೆ. ಇತರ ಸಮಾನಾಂತರ ಪ್ರಕ್ರಿಯೆಗಳೊಂದಿಗಿನ ಪರಸ್ಪರ ಕ್ರಿಯೆಗಳನ್ನು ಹೆಚ್ಚು ವಿವರವಾಗಿ ಪರಿಶೀಲಿಸಲು ನಿರ್ಣಾಯಕ ಹಂತಗಳಲ್ಲಿ ಅಸಿಂಕ್ರೋನಸ್ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಅಮಾನತುಗೊಳಿಸಲು ಇದು ಅವಕಾಶವನ್ನು ಒದಗಿಸುತ್ತದೆ. ದೀರ್ಘಕಾಲದ ಕೋಡ್ ಅನ್ನು ಸ್ಪಷ್ಟಗೊಳಿಸುವ ಮೂಲಕ ಕಾರ್ಯಕ್ಷಮತೆಯ ಅಡೆತಡೆಗಳನ್ನು ಗುರುತಿಸಲು ಪ್ರೊಫೈಲರ್ ಅನ್ನು ಪ್ರತ್ಯೇಕ ವಿಧಾನಕ್ಕೆ ಅಥವಾ ಮಾಡ್ಯೂಲ್ ಅಥವಾ ಪ್ರೋಗ್ರಾಂನ ಪ್ರಮಾಣದಲ್ಲಿ ಅನ್ವಯಿಸಬಹುದು. ವಿವಿಧ ರನ್ಟೈಮ್ ಪರಿಸ್ಥಿತಿಗಳು ಅಥವಾ ವಿವಿಧ ಹೊರೆಗಳನ್ನು ನಿಭಾಯಿಸಲು ಅದನ್ನು ಅತ್ಯುತ್ತಮವಾಗಿಸುವ ಉದ್ದೇಶದಿಂದ, ಸಮಯದ ದೃಷ್ಟಿಕೋನದಿಂದ ಕೋಡ್ ಅನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಪ್ರೊಫೈಲರ್ ಅನ್ನು ಬಳಸಬಹುದು. ಪ್ರೊಫೈಲ್-ಗೈಡೆಡ್ ಆಪ್ಟಿಮೈಸೇಶನ್ ಅನ್ನು ಒದಗಿಸುವ ಕಂಪೈಲರ್ ಮೂಲಕ ಪ್ರೊಫೈಲಿಂಗ್ ಫಲಿತಾಂಶಗಳನ್ನು ಸೇವಿಸಬಹುದು. ಪ್ರೊಫೈಲಿಂಗ್ ಫಲಿತಾಂಶಗಳನ್ನು ಪ್ರತ್ಯೇಕ ಅಲ್ಗಾರಿದಮ್ನ ವಿನ್ಯಾಸ ಮತ್ತು ಆಪ್ಟಿಮೈಸೇಶನ್ಗೆ ಮಾರ್ಗದರ್ಶನ ನೀಡಲು ಬಳಸಬಹುದು; ಕ್ರಾಸ್ ಹೊಂದಾಣಿಕೆಯ ವೈಲ್ಡ್ಕಾರ್ಡ್ ಅಲ್ಗಾರಿದಮ್ ಒಂದು ಉದಾಹರಣೆಯಾಗಿದೆ. ಪ್ರೊಫೈಲರ್ಗಳನ್ನು ಕೆಲವು ಅಪ್ಲಿಕೇಶನ್ ಕಾರ್ಯಕ್ಷಮತೆ ನಿರ್ವಹಣಾ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ ನಿರ್ಮಿಸಲಾಗಿದೆ, ಇದು ವಿತರಿಸಿದ ಅಪ್ಲಿಕೇಶನ್ಗಳಲ್ಲಿನ ವಹಿವಾಟಿನ ಕೆಲಸದ ಹೊರೆಗಳ ಬಗ್ಗೆ ಒಳನೋಟವನ್ನು ಒದಗಿಸಲು ಪ್ರೊಫೈಲಿಂಗ್ ಡೇಟಾವನ್ನು ಒಟ್ಟುಗೂಡಿಸುತ್ತದೆ. ಇತಿಹಾಸ ಕಾರ್ಯಕ್ಷಮತೆ-ವಿಶ್ಲೇಷಣೆಯ ಸಾಧನಗಳು 1970ರ ದಶಕದ ಆರಂಭದಿಂದ ಐಬಿಎಂ/360 ಮತ್ತು ಐಬಿಎಂ/370 ವೇದಿಕೆಗಳಲ್ಲಿ ಅಸ್ತಿತ್ವದಲ್ಲಿದ್ದವು, ಇದು ಸಾಮಾನ್ಯವಾಗಿ ಟೈಮರ್ ಅಡಚಣೆಗಳನ್ನು ಆಧರಿಸಿತ್ತು, ಇದು ಕೋಡ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವಲ್ಲಿ "ಹಾಟ್ ಸ್ಪಾಟ್ಗಳನ್ನು" ಪತ್ತೆಹಚ್ಚಲು ನಿಗದಿತ ಟೈಮರ್-ಮಧ್ಯಂತರಗಳಲ್ಲಿ ಪ್ರೋಗ್ರಾಂ ಸ್ಥಿತಿ ಪದವನ್ನು (ಪಿಎಸ್ಡಬ್ಲ್ಯೂ) ದಾಖಲಿಸುತ್ತದೆ. ಇದು ಮಾದರಿಯ ಆರಂಭಿಕ ಉದಾಹರಣೆಯಾಗಿದೆ (ಕೆಳಗೆ ನೋಡಿ). 1974 ರ ಆರಂಭದಲ್ಲಿ ಸೂಚನಾ-ಸೆಟ್ ಸಿಮ್ಯುಲೇಟರ್ಗಳು ಪೂರ್ಣ ಜಾಡು ಮತ್ತು ಇತರ ಕಾರ್ಯಕ್ಷಮತೆ-ಮೇಲ್ವಿಚಾರಣಾ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಅನುಮತಿಸಿದವು. ಯುನಿಕ್ಸ್ನಲ್ಲಿ ಪ್ರೊಫೈಲರ್-ಚಾಲಿತ ಪ್ರೋಗ್ರಾಂ ವಿಶ್ಲೇಷಣೆಯು 1973ರ ಹಿಂದಿನದು, ಯುನಿಕ್ಸ್ ವ್ಯವಸ್ಥೆಗಳು ಪ್ರತಿ ಕಾರ್ಯವನ್ನು ಮತ್ತು ಅದು ಎಷ್ಟು ಪ್ರೋಗ್ರಾಂ ಕಾರ್ಯಗತಗೊಳಿಸುವ ಸಮಯವನ್ನು ಬಳಸಿಕೊಂಡಿತು ಎಂಬುದನ್ನು ಪಟ್ಟಿ ಮಾಡುವ ಪ್ರೊಫೈಲ್ ಎಂಬ ಮೂಲ ಸಾಧನವನ್ನು ಒಳಗೊಂಡಿದ್ದವು. 1982ರಲ್ಲಿ ಜಿ. ಪ್ರೊ. ಎಫ್. ಈ ಪರಿಕಲ್ಪನೆಯನ್ನು ಸಂಪೂರ್ಣ ಕಾಲ್ ಗ್ರಾಫ್ ವಿಶ್ಲೇಷಣೆಗೆ ವಿಸ್ತರಿಸಿತು. 1994ರಲ್ಲಿ, ಡಿಜಿಟಲ್ ಎಕ್ವಿಪ್ಮೆಂಟ್ ಕಾರ್ಪೊರೇಶನ್ನ ಅಮಿತಾಭ್ ಶ್ರೀವಾಸ್ತವ ಮತ್ತು ಅಲನ್ ಯೂಸ್ಟೇಸ್ ಅವರು ಎಟಿಒಎಂ (ಅನಾಲಿಸಿಸ್ ಟೂಲ್ಸ್ ವಿತ್ ಒಎಂ) ಅನ್ನು ವಿವರಿಸುವ ಪ್ರಬಂಧವೊಂದನ್ನು ಪ್ರಕಟಿಸಿದರು. ಎಟಿಒಎಂ ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಒಂದು ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ತನ್ನದೇ ಆದ ಪ್ರೊಫೈಲರ್ ಆಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆಃ ಕಂಪೈಲ್ ಸಮಯದಲ್ಲಿ, ಇದು ವಿಶ್ಲೇಷಿಸಲು ಪ್ರೋಗ್ರಾಂಗೆ ಕೋಡ್ ಅನ್ನು ಸೇರಿಸುತ್ತದೆ. ಅದು ಸೇರಿಸಿದ ಕೋಡ್ ವಿಶ್ಲೇಷಣೆಯ ಡೇಟಾವನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ. ಈ ತಂತ್ರ-ಸ್ವತಃ ವಿಶ್ಲೇಷಿಸಲು ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಮಾರ್ಪಡಿಸುವುದು-ಇದನ್ನು "ಇನ್ಸ್ಟ್ರುಮೆಂಟೇಶನ್" ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. 2004ರಲ್ಲಿ, 1999ರಲ್ಲಿ ಕೊನೆಗೊಂಡ 20 ವರ್ಷಗಳ ಅವಧಿಯ 50 ಅತ್ಯಂತ ಪ್ರಭಾವಶಾಲಿ ಪಿ. ಎಲ್. ಡಿ. ಐ ಪತ್ರಿಕೆಗಳ ಪಟ್ಟಿಯಲ್ಲಿ ಜಿ. ಪ್ರೊ. ಮತ್ತು ಎ. ಟಿ. ಓ. ಎಂ. ಪತ್ರಿಕೆಗಳು ಕಾಣಿಸಿಕೊಂಡವು. ಔಟ್ಪುಟ್ ಫ್ಲಾಟ್ ಪ್ರೊಫೈಲರ್ ಫ್ಲಾಟ್ ಪ್ರೊಫೈಲರ್ಗಳನ್ನು ಆಧರಿಸಿದ ಪ್ರೊಫೈಲ್ ಪ್ರಕಾರಗಳು ಕರೆಗಳ ಸರಾಸರಿ ಕರೆ ಸಮಯವನ್ನು ಲೆಕ್ಕ ಹಾಕುತ್ತವೆ ಮತ್ತು ಕರೆಗಳು ಅಥವಾ ಸಂದರ್ಭದ ಆಧಾರದ ಮೇಲೆ ಕರೆ ಸಮಯವನ್ನು ವಿಭಜಿಸುವುದಿಲ್ಲ. ಕಾಲ್-ಗ್ರಾಫ್ ಪ್ರೊಫೈಲರ್ ಕಾಲ್ ಗ್ರಾಫ್ ಪ್ರೊಫೈಲರ್ಗಳು ಕರೆ ಸಮಯಗಳು ಮತ್ತು ಕಾರ್ಯಗಳ ಆವರ್ತನಗಳನ್ನು ತೋರಿಸುತ್ತವೆ ಮತ್ತು ಕ್ಯಾಲೀ ಆಧಾರದ ಮೇಲೆ ಒಳಗೊಂಡಿರುವ ಕರೆ-ಸರಪಳಿಗಳನ್ನು ಸಹ ತೋರಿಸುತ್ತವೆ. ಕೆಲವು ಸಾಧನಗಳಲ್ಲಿ ಪೂರ್ಣ ಸಂದರ್ಭವನ್ನು ಸಂರಕ್ಷಿಸಲಾಗಿಲ್ಲ. ಇನ್ಪುಟ್-ಸೆನ್ಸಿಟಿವ್ ಪ್ರೊಫೈಲರ್ ಇನ್ಪುಟ್-ಸೆನ್ಸಿಟಿವ್ ಪ್ರೊಫೈಲರ್ಗಳು ಇನ್ಪುಟ್ ಗಾತ್ರ ಅಥವಾ ಇನ್ಪುಟ್ ಮೌಲ್ಯಗಳಂತಹ ಇನ್ಪುಟ್ ಕೆಲಸದ ಹೊರೆಗಳ ವೈಶಿಷ್ಟ್ಯಗಳಿಗೆ ಕಾರ್ಯಕ್ಷಮತೆಯ ಕ್ರಮಗಳನ್ನು ಸಂಬಂಧಿಸುವ ಮೂಲಕ ಫ್ಲಾಟ್ ಅಥವಾ ಕಾಲ್-ಗ್ರಾಫ್ ಪ್ರೊಫೈಲರ್ಗಳಿಗೆ ಮತ್ತಷ್ಟು ಆಯಾಮವನ್ನು ಸೇರಿಸುತ್ತವೆ. ಅಪ್ಲಿಕೇಶನ್ನ ಕಾರ್ಯಕ್ಷಮತೆಯು ಅದರ ಇನ್ಪುಟ್ನ ಕಾರ್ಯವಾಗಿ ಹೇಗೆ ಅಳೆಯುತ್ತದೆ ಎಂಬುದನ್ನು ನಿರೂಪಿಸುವ ಚಾರ್ಟ್ಗಳನ್ನು ಅವು ಉತ್ಪಾದಿಸುತ್ತವೆ. ಪ್ರೊಫೈಲರ್ ಪ್ರಕಾರಗಳಲ್ಲಿನ ಡೇಟಾ ಗ್ರ್ಯಾನುಲಾರಿಟಿ ಪ್ರೊಫೈಲರ್ಗಳು, ಅವು ಸ್ವತಃ ಪ್ರೋಗ್ರಾಂಗಳಾಗಿವೆ, ಅವುಗಳ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯ ಮಾಹಿತಿಯನ್ನು ಸಂಗ್ರಹಿಸುವ ಮೂಲಕ ಗುರಿ ಪ್ರೋಗ್ರಾಂಗಳನ್ನು ವಿಶ್ಲೇಷಿಸುತ್ತವೆ. ಅವರ ಡೇಟಾ ಗ್ರ್ಯಾನುಲಾರಿಟಿಯ ಆಧಾರದ ಮೇಲೆ, ಪ್ರೊಫೈಲರ್ಗಳು ಮಾಹಿತಿಯನ್ನು ಹೇಗೆ ಸಂಗ್ರಹಿಸುತ್ತಾರೆ ಎಂಬುದರ ಆಧಾರದ ಮೇಲೆ, ಅವರನ್ನು ಈವೆಂಟ್ ಆಧಾರಿತ ಅಥವಾ ಸಂಖ್ಯಾಶಾಸ್ತ್ರೀಯ ಪ್ರೊಫೈಲರ್ಗಳಾಗಿ ವರ್ಗೀಕರಿಸಲಾಗುತ್ತದೆ. ಪ್ರೊಫೈಲರ್ಗಳು ಮಾಹಿತಿಯನ್ನು ಸಂಗ್ರಹಿಸಲು ಪ್ರೋಗ್ರಾಂ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ಅಡ್ಡಿಪಡಿಸುತ್ತಾರೆ, ಇದು ಸಮಯದ ಅಳತೆಗಳಲ್ಲಿ ಸೀಮಿತ ರೆಸಲ್ಯೂಶನ್ಗೆ ಕಾರಣವಾಗಬಹುದು, ಇದನ್ನು ಉಪ್ಪಿನ ಧಾನ್ಯದೊಂದಿಗೆ ತೆಗೆದುಕೊಳ್ಳಬೇಕು. ಬೇಸಿಕ್ ಬ್ಲಾಕ್ ಪ್ರೊಫೈಲರ್ಗಳು ಪ್ರತಿ ಸಾಲಿನ ಕೋಡ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಮೀಸಲಾಗಿರುವ ಹಲವಾರು ಯಂತ್ರ ಗಡಿಯಾರ ಚಕ್ರಗಳನ್ನು ಅಥವಾ ಇವುಗಳನ್ನು ಒಟ್ಟಿಗೆ ಸೇರಿಸುವ ಸಮಯವನ್ನು ವರದಿ ಮಾಡುತ್ತವೆ; ಪ್ರತಿ ಮೂಲ ಬ್ಲಾಕ್ಗೆ ವರದಿ ಮಾಡಲಾದ ಸಮಯಗಳು ಕ್ಯಾಶ್ ಹಿಟ್ಗಳು ಮತ್ತು ಮಿಸ್ಗಳ ನಡುವಿನ ವ್ಯತ್ಯಾಸವನ್ನು ಪ್ರತಿಬಿಂಬಿಸದಿರಬಹುದು. ಈವೆಂಟ್-ಆಧಾರಿತ ಪ್ರೊಫೈಲರ್ಗಳು ಇಲ್ಲಿ ಪಟ್ಟಿ ಮಾಡಲಾದ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳು ಈವೆಂಟ್-ಆಧಾರಿತ ಪ್ರೊಫೈಲರ್ಗಳನ್ನು ಹೊಂದಿವೆಃ ಜಾವಾಃ ಜೆವಿಎಂಟಿಐ (ಜೆವಿಎಂ ಟೂಲ್ಸ್ ಇಂಟರ್ಫೇಸ್) ಎಪಿಐ, ಹಿಂದೆ ಜೆವಿಎಂಪಿಐ (ಜೆವಿಎಂ ಪ್ರೊಫೈಲಿಂಗ್ ಇಂಟರ್ಫೇಸ್), ಕರೆಗಳು, ಕ್ಲಾಸ್-ಲೋಡ್, ಅನ್ಲೋಡ್, ಥ್ರೆಡ್ ಎಂಟ್ರಿ ಲೀವ್ ಮುಂತಾದ ಘಟನೆಗಳನ್ನು ಟ್ರ್ಯಾಪ್ ಮಾಡಲು ಪ್ರೊಫೈಲರ್ಗಳಿಗೆ ಕೊಕ್ಕೆಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ. . NET: ಪ್ರೊಫೈಲಿಂಗ್ API ಅನ್ನು ಬಳಸಿಕೊಂಡು ಸಿಎಲ್ಆರ್ಗೆ ಪ್ರೊಫೈಲಿಂಗ್ ಏಜೆಂಟ್ ಅನ್ನು COM ಸರ್ವರ್ ಆಗಿ ಲಗತ್ತಿಸಬಹುದು. ಜಾವಾದಂತೆ, ರನ್ಟೈಮ್ ನಂತರ ಜೆಐಟಿ/ಎಂಟರ್/ಲೀವ್, ಆಬ್ಜೆಕ್ಟ್ ಕ್ರಿಯೇಷನ್ ಮುಂತಾದ ಘಟನೆಗಳನ್ನು ಟ್ರ್ಯಾಪ್ ಮಾಡಲು ಏಜೆಂಟ್ಗೆ ವಿವಿಧ ಕಾಲ್ಬ್ಯಾಕ್ಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ. ವಿಶೇಷವಾಗಿ ಪ್ರೊಫೈಲಿಂಗ್ ಏಜೆಂಟ್ ಗುರಿ ಅಪ್ಲಿಕೇಶನ್ನ ಬೈಟ್ಕೋಡ್ ಅನ್ನು ಅನಿಯಂತ್ರಿತ ರೀತಿಯಲ್ಲಿ ಪುನಃ ಬರೆಯಬಹುದು. ಪೈಥಾನ್ಃ ಪೈಥಾನ್ ಪ್ರೊಫೈಲಿಂಗ್ ಪ್ರೊಫೈಲ್ ಮಾಡ್ಯೂಲ್, ಹಾಟ್ಶಾಟ್ (ಇದು ಕಾಲ್-ಗ್ರಾಫ್ ಆಧಾರಿತವಾಗಿದೆ), ಮತ್ತು c _ {ಕಾಲ್, ರಿಟರ್ನ್, ಎಕ್ಸೆಪ್ಶನ್}, ಪೈಥಾನ್ _ {ಕಾಲ್, ರಿಟರ್ನ್, ಎಕ್ಸೆಪ್ಶನ್} ನಂತಹ ಘಟನೆಗಳನ್ನು ಬಲೆಗೆ ಬೀಳಿಸಲು 'sys.setprofile' ಕಾರ್ಯವನ್ನು ಬಳಸುವುದನ್ನು ಒಳಗೊಂಡಿದೆ. ರೂಬಿಃ ರೂಬಿ ಸಹ ಪ್ರೊಫೈಲಿಂಗ್ಗಾಗಿ ಪೈಥಾನ್ಗೆ ಹೋಲುವ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಬಳಸುತ್ತದೆ. profile.rb, ಮಾಡ್ಯೂಲ್ನಲ್ಲಿ ಫ್ಲಾಟ್-ಪ್ರೊಫೈಲರ್ ಮತ್ತು ರೂಬಿ-ಪ್ರೊ ಸಿ-ಎಕ್ಸ್ಟೆನ್ಶನ್ ಇವೆ. ಸ್ಟ್ಯಾಟಿಸ್ಟಿಕಲ್ ಪ್ರೊಫೈಲರ್ಗಳು ಕೆಲವು ಪ್ರೊಫೈಲರ್ಗಳು ಸ್ಯಾಂಪ್ಲಿಂಗ್ ಮೂಲಕ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ. ಒಂದು ಸ್ಯಾಂಪ್ಲಿಂಗ್ ಪ್ರೊಫೈಲರ್ ಕಾರ್ಯಾಚರಣಾ ವ್ಯವಸ್ಥೆಯ ಅಡಚಣೆಗಳನ್ನು ಬಳಸಿಕೊಂಡು ನಿಯಮಿತ ಮಧ್ಯಂತರಗಳಲ್ಲಿ ಗುರಿ ಪ್ರೋಗ್ರಾಂನ ಕರೆ ಸ್ಟ್ಯಾಕ್ ಅನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ. ಸ್ಯಾಂಪ್ಲಿಂಗ್ ಪ್ರೊಫೈಲ್ಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಕಡಿಮೆ ಸಂಖ್ಯಾತ್ಮಕವಾಗಿ ನಿಖರವಾಗಿರುತ್ತವೆ ಮತ್ತು ನಿರ್ದಿಷ್ಟವಾಗಿರುತ್ತವೆ, ಆದರೆ ಗುರಿ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಪೂರ್ಣ ವೇಗದಲ್ಲಿ ಚಲಾಯಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಫಲಿತಾಂಶದ ದತ್ತಾಂಶವು ನಿಖರವಾಗಿಲ್ಲ, ಆದರೆ ಅಂಕಿಅಂಶಗಳ ಅಂದಾಜು. "ದೋಷದ ನಿಜವಾದ ಪ್ರಮಾಣವು ಸಾಮಾನ್ಯವಾಗಿ ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ಮಾದರಿ ಅವಧಿಯಾಗಿದೆ. ವಾಸ್ತವವಾಗಿ, ಒಂದು ಮೌಲ್ಯವು ಮಾದರಿ ಅವಧಿಯ n ಪಟ್ಟು ಇದ್ದರೆ, ಅದರಲ್ಲಿ ನಿರೀಕ್ಷಿತ ದೋಷವು n ಮಾದರಿ ಅವಧಿಗಳ ವರ್ಗಮೂಲವಾಗಿದೆ ". ಪ್ರಾಯೋಗಿಕವಾಗಿ, ಸ್ಯಾಂಪ್ಲಿಂಗ್ ಪ್ರೊಫೈಲರ್ಗಳು ಇತರ ವಿಧಾನಗಳಿಗಿಂತ ಗುರಿ ಪ್ರೋಗ್ರಾಂನ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯ ಬಗ್ಗೆ ಹೆಚ್ಚು ನಿಖರವಾದ ಚಿತ್ರವನ್ನು ಒದಗಿಸಬಹುದು, ಏಕೆಂದರೆ ಅವು ಗುರಿ ಪ್ರೋಗ್ರಾಂಗೆ ಒಳನುಗ್ಗುವುದಿಲ್ಲ, ಮತ್ತು ಆದ್ದರಿಂದ ಅನೇಕ ಅಡ್ಡಪರಿಣಾಮಗಳನ್ನು ಹೊಂದಿರುವುದಿಲ್ಲ (ಉದಾಹರಣೆಗೆ ಮೆಮೊರಿ ಕ್ಯಾಶ್ಗಳು ಅಥವಾ ಸೂಚನಾ ಡಿಕೋಡಿಂಗ್ ಪೈಪ್ಲೈನ್ಗಳು). ಅವು ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯ ವೇಗದ ಮೇಲೆ ಹೆಚ್ಚು ಪರಿಣಾಮ ಬೀರುವುದಿಲ್ಲವಾದ್ದರಿಂದ, ಅವರು ಮರೆಮಾಚಬಹುದಾದ ಸಮಸ್ಯೆಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಬಹುದು. ಸಣ್ಣ, ಆಗಾಗ್ಗೆ ದಿನಚರಿಗಳು ಅಥವಾ 'ಬಿಗಿಯಾದ' ಲೂಪ್ಗಳ ವೆಚ್ಚವನ್ನು ಅತಿಯಾಗಿ ಮೌಲ್ಯಮಾಪನ ಮಾಡಲು ಅವು ತುಲನಾತ್ಮಕವಾಗಿ ನಿರೋಧಕವಾಗಿರುತ್ತವೆ. ಸಿಸ್ಟಮ್ ಕರೆ ಪ್ರೊಸೆಸಿಂಗ್ನಂತಹ ಅಡ್ಡಿಪಡಿಸಬಹುದಾದ ಕರ್ನಲ್ ಮೋಡ್ ವಿರುದ್ಧ ಬಳಕೆದಾರ ಮೋಡ್ನಲ್ಲಿ ಕಳೆದ ಸಾಪೇಕ್ಷ ಸಮಯವನ್ನು ಅವರು ತೋರಿಸಬಹುದು. ಆದರೂ, ಅಡೆತಡೆಗಳನ್ನು ನಿಭಾಯಿಸಲು ಕರ್ನಲ್ ಕೋಡ್ CPU ಚಕ್ರಗಳ ಸಣ್ಣ ನಷ್ಟವನ್ನು ಉಂಟುಮಾಡುತ್ತದೆ, ಕ್ಯಾಶ್ ಬಳಕೆಯನ್ನು ಬೇರೆಡೆಗೆ ತಿರುಗಿಸುತ್ತದೆ ಮತ್ತು ತಡೆರಹಿತ ಕರ್ನಲ್ ಕೋಡ್ನಲ್ಲಿ (ಮೈಕ್ರೋ ಸೆಕೆಂಡ್-ಶ್ರೇಣಿಯ ಚಟುವಟಿಕೆ) ಸಂಭವಿಸುವ ವಿವಿಧ ಕಾರ್ಯಗಳನ್ನು ಪ್ರತ್ಯೇಕಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. ಮೀಸಲಾದ ಯಂತ್ರಾಂಶವು ಇದನ್ನು ಮೀರಿ ಹೋಗಬಹುದುಃ ಎಆರ್ಎಂ ಕಾರ್ಟೆಕ್ಸ್-ಎಂ3 ಮತ್ತು ಕೆಲವು ಇತ್ತೀಚಿನ ಎಂಐಪಿಎಸ್ ಪ್ರೊಸೆಸರ್ಗಳು ಜೆಟಿಎಜಿ ಇಂಟರ್ಫೇಸ್ ಪಿಸಿ ಸ್ಯಾಂಪಲ್ ರಿಜಿಸ್ಟರ್ ಅನ್ನು ಹೊಂದಿವೆ, ಇದು ಪ್ರೋಗ್ರಾಂ ಕೌಂಟರ್ ಅನ್ನು ನಿಜವಾಗಿಯೂ ಪತ್ತೆಹಚ್ಚಲಾಗದ ರೀತಿಯಲ್ಲಿ ಮಾದರಿ ಮಾಡುತ್ತದೆ, ಇದು ಫ್ಲಾಟ್ ಪ್ರೊಫೈಲ್ನ ಒಳನುಗ್ಗುವ ಸಂಗ್ರಹವನ್ನು ಅನುಮತಿಸುತ್ತದೆ. ಜಾವಾ/ನಿರ್ವಹಿಸಿದ ಕೋಡ್ಗಾಗಿ ಸಾಮಾನ್ಯವಾಗಿ ಬಳಸುವ ಕೆಲವು ಅಂಕಿಅಂಶಗಳ ಪ್ರೊಫೈಲರ್ಗಳೆಂದರೆ ಸ್ಮಾರ್ಟ್ಬಿಯರ್ ಸಾಫ್ಟ್ವೇರ್ನ ಎಕ್ಯೂಟೈಮ್ ಮತ್ತು ಮೈಕ್ರೋಸಾಫ್ಟ್ನ ಸಿಎಲ್ಆರ್ ಪ್ರೊಫೈಲರ್. ಆಪಲ್ ಇಂಕ್ನ ಶಾರ್ಕ್ (ಓಎಸ್ಎಕ್ಸ್), ಒಪ್ರೋಫೈಲ್ (ಲಿನಕ್ಸ್), ಇಂಟೆಲ್ ವಿ ಟ್ಯೂನ್ ಮತ್ತು ಪ್ಯಾರಲಲ್ ಆಂಪ್ಲಿಫೈಯರ್ (ಇಂಟೆಲ್ ಪ್ಯಾರಲಲ್ ಸ್ಟುಡಿಯೊದ ಭಾಗ) ಮತ್ತು ಒರಾಕಲ್ ಪರ್ಫಾರ್ಮೆನ್ಸ್ ಅನಲೈಜರ್ನೊಂದಿಗೆ ಸ್ಥಳೀಯ ಕೋಡ್ ಪ್ರೊಫೈಲಿಂಗ್ ಅನ್ನು ಸಹ ಆ ಪ್ರೊಫೈಲರ್ಗಳು ಬೆಂಬಲಿಸುತ್ತವೆ. ಇನ್ಸ್ಟ್ರುಮೆಂಟೇಶನ್ ಈ ತಂತ್ರವು ಅಗತ್ಯ ಮಾಹಿತಿಯನ್ನು ಸಂಗ್ರಹಿಸಲು ಗುರಿ ಕಾರ್ಯಕ್ರಮಕ್ಕೆ ಸೂಚನೆಗಳನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಸೇರಿಸುತ್ತದೆ. ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಇನ್ಸ್ಟ್ರುಮೆಂಟ್ ಮಾಡುವುದು ಕಾರ್ಯಕ್ಷಮತೆಯ ಬದಲಾವಣೆಗಳಿಗೆ ಕಾರಣವಾಗಬಹುದು ಮತ್ತು ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ ತಪ್ಪಾದ ಫಲಿತಾಂಶಗಳು ಮತ್ತು/ಅಥವಾ ಹೈಸೆನ್ಬಗ್ಗಳಿಗೆ ಕಾರಣವಾಗಬಹುದು ಎಂಬುದನ್ನು ಗಮನಿಸಿ. ಯಾವ ಮಾಹಿತಿಯನ್ನು ಸಂಗ್ರಹಿಸಲಾಗುತ್ತಿದೆ, ವರದಿ ಮಾಡಲಾದ ಸಮಯದ ವಿವರಗಳ ಮಟ್ಟ ಮತ್ತು ಮೂಲ ಬ್ಲಾಕ್ ಪ್ರೊಫೈಲಿಂಗ್ ಅನ್ನು ಸಲಕರಣೆಗಳ ಜೊತೆಯಲ್ಲಿ ಬಳಸಲಾಗುತ್ತದೆಯೇ ಎಂಬುದರ ಮೇಲೆ ಪರಿಣಾಮವು ಅವಲಂಬಿತವಾಗಿರುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಪ್ರತಿ ಕಾರ್ಯವಿಧಾನ/ವಾಡಿಕೆಯ ಕರೆಯನ್ನು ಎಣಿಸಲು ಕೋಡ್ ಅನ್ನು ಸೇರಿಸುವುದರಿಂದ ಬಹುಶಃ ಪ್ರತಿ ಹೇಳಿಕೆಯನ್ನು ಎಷ್ಟು ಬಾರಿ ಪಾಲಿಸಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ಎಣಿಸುವುದಕ್ಕಿಂತ ಕಡಿಮೆ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ. ಕೆಲವು ಕಂಪ್ಯೂಟರ್ಗಳು ಮಾಹಿತಿಯನ್ನು ಸಂಗ್ರಹಿಸಲು ವಿಶೇಷ ಯಂತ್ರಾಂಶವನ್ನು ಹೊಂದಿವೆ; ಈ ಸಂದರ್ಭದಲ್ಲಿ ಪ್ರೋಗ್ರಾಂನ ಮೇಲೆ ಪರಿಣಾಮವು ಕನಿಷ್ಠವಾಗಿರುತ್ತದೆ. ಪ್ರೊಫೈಲರ್ಗಳಿಗೆ ಲಭ್ಯವಿರುವ ನಿಯಂತ್ರಣದ ಮಟ್ಟ ಮತ್ತು ಸಮಯದ ನಿರ್ಣಯದ ಪ್ರಮಾಣವನ್ನು ನಿರ್ಧರಿಸಲು ಉಪಕರಣವು ಪ್ರಮುಖವಾಗಿದೆ. ಕೈಪಿಡಿಃ ಪ್ರೋಗ್ರಾಮರ್ ನಿರ್ವಹಿಸಿದ, ಉದಾಹರಣೆಗೆ. ರನ್ಟೈಮ್ಗಳನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಲೆಕ್ಕಹಾಕಲು ಸೂಚನೆಗಳನ್ನು ಸೇರಿಸುವ ಮೂಲಕ, ಅಪ್ಲಿಕೇಶನ್ ರೆಸ್ಪಾನ್ಸ್ ಮೆಷರ್ಮೆಂಟ್ ಸ್ಟ್ಯಾಂಡರ್ಡ್ನಂತಹ ಮಾಪನ ಎಪಿಐಗಳಿಗೆ ಘಟನೆಗಳು ಅಥವಾ ಕರೆಗಳನ್ನು ಸರಳವಾಗಿ ಎಣಿಸಿ. ಸ್ವಯಂಚಾಲಿತ ಮೂಲ ಮಟ್ಟಃ ಉಪಕರಣ ನೀತಿಯ ಪ್ರಕಾರ ಸ್ವಯಂಚಾಲಿತ ಸಾಧನದಿಂದ ಮೂಲ ಸಂಕೇತಕ್ಕೆ ಉಪಕರಣವನ್ನು ಸೇರಿಸಲಾಗುತ್ತದೆ. ಮಧ್ಯಂತರ ಭಾಷೆಃ ಅನೇಕ ಉನ್ನತ ಮಟ್ಟದ ಮೂಲ ಭಾಷೆಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ನೀಡುವ ಮತ್ತು (ಸಾಂಕೇತಿಕವಲ್ಲದ) ಬೈನರಿ ಆಫ್ಸೆಟ್ ಮರು-ಬರವಣಿಗೆಯ ಸಮಸ್ಯೆಗಳನ್ನು ತಪ್ಪಿಸುವ ಜೋಡಣೆ ಅಥವಾ ಡೀಕಂಪಿಲ್ಡ್ ಬೈಟೆಕೋಡ್ಗಳಿಗೆ ಉಪಕರಣವನ್ನು ಸೇರಿಸಲಾಗುತ್ತದೆ. ಕಂಪೈಲರ್ ನೆರವಿನ ಬೈನರಿ ಅನುವಾದಃ ಈ ಉಪಕರಣವು ಕಂಪೈಲ್ ಮಾಡಲಾದ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಸಾಧನಕ್ಕೆ ಉಪಕರಣವನ್ನು ಸೇರಿಸುತ್ತದೆ. ರನ್ಟೈಮ್ ಇನ್ಸ್ಟ್ರುಮೆಂಟೇಶನ್ಃ ಕಾರ್ಯಗತಗೊಳಿಸುವ ಮೊದಲು ಕೋಡ್ ಅನ್ನು ಇನ್ಸ್ಟ್ರುಮೆಂಟೆಡ್ ಮಾಡಲಾಗುತ್ತದೆ. ಪ್ರೋಗ್ರಾಂ ರನ್ ಅನ್ನು ಉಪಕರಣದಿಂದ ಸಂಪೂರ್ಣವಾಗಿ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲಾಗುತ್ತದೆ ಮತ್ತು ನಿಯಂತ್ರಿಸಲಾಗುತ್ತದೆ. ರನ್ಟೈಮ್ ಇಂಜೆಕ್ಷನ್ಃ ರನ್ಟೈಮ್ ಇನ್ಸ್ಟ್ರುಮೆಂಟೇಶನ್ಗಿಂತ ಹೆಚ್ಚು ಹಗುರವಾಗಿರುತ್ತದೆ. ಸಹಾಯಕ ಕಾರ್ಯಗಳಿಗೆ ಜಿಗಿತಗಳನ್ನು ಹೊಂದಲು ಕೋಡ್ ಅನ್ನು ರನ್ಟೈಮ್ನಲ್ಲಿ ಮಾರ್ಪಡಿಸಲಾಗಿದೆ. ಇಂಟರ್ಪ್ರಿಟರ್ ಇನ್ಸ್ಟ್ರುಮೆಂಟೇಶನ್ ಇಂಟರ್ಪ್ರಿಟರ್ ಡೀಬಗ್ ಆಯ್ಕೆಗಳು ಕಾರ್ಯಕ್ಷಮತೆಯ ಮಾಪನಗಳ ಸಂಗ್ರಹವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಬಹುದು ಏಕೆಂದರೆ ಇಂಟರ್ಪ್ರಿಟರ್ ಪ್ರತಿ ಗುರಿ ಹೇಳಿಕೆಯನ್ನು ಎದುರಿಸುತ್ತಾನೆ. ಬೈಟ್ಕೋಡ್, ಕಂಟ್ರೋಲ್ ಟೇಬಲ್ ಅಥವಾ ಜೆಐಟಿ ಇಂಟರ್ಪ್ರಿಟರ್ಗಳು ಮೂರು ಉದಾಹರಣೆಗಳಾಗಿದ್ದು, ಅವು ಸಾಮಾನ್ಯವಾಗಿ ಗುರಿ ಸಂಕೇತದ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯ ಮೇಲೆ ಸಂಪೂರ್ಣ ನಿಯಂತ್ರಣವನ್ನು ಹೊಂದಿರುತ್ತವೆ, ಹೀಗಾಗಿ ಅತ್ಯಂತ ಸಮಗ್ರ ದತ್ತಾಂಶ ಸಂಗ್ರಹಣೆ ಅವಕಾಶಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತವೆ. ಹೈಪರ್ವೈಸರ್/ಸಿಮ್ಯುಲೇಟರ್ ಹೈಪರ್ವೈಸರ್ಃ ಹೈಪರ್ವೈಸರ್ನ ಅಡಿಯಲ್ಲಿ (ಸಾಮಾನ್ಯವಾಗಿ) ಮಾರ್ಪಡಿಸದ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ನಡೆಸುವ ಮೂಲಕ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ. ಉದಾಹರಣೆಃ ಸಿಮ್ಮನ್ ಸಿಮ್ಯುಲೇಟರ್ ಮತ್ತು ಹೈಪರ್ವೈಸರ್ಃ ಇನ್ಸ್ಟ್ರಕ್ಷನ್ ಸೆಟ್ ಸಿಮ್ಯುಲೇಟರ್ ಅಡಿಯಲ್ಲಿ ಮಾರ್ಪಡಿಸದ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಚಲಾಯಿಸುವ ಮೂಲಕ ಡೇಟಾವನ್ನು ಸಂವಾದಾತ್ಮಕವಾಗಿ ಮತ್ತು ಆಯ್ದವಾಗಿ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ. ಅಲ್ಗಾರಿದಮಿಕ್ ದಕ್ಷತೆ ಬೆಂಚ್ಮಾರ್ಕ್ ಜಾವಾ ಕಾರ್ಯಕ್ಷಮತೆ ಸಾಧನಗಳ ಪಟ್ಟಿ ಆಧುನಿಕ ಮೈಕ್ರೊಪ್ರೊಸೆಸರ್ಗಳಲ್ಲಿನ ಹಾರ್ಡ್ವೇರ್ ಕಾರ್ಯಕ್ಷಮತೆ ಕೌಂಟರ್ಗಳಿಗೆ ಪಿಎಪಿಐ ಪೋರ್ಟಬಲ್ ಇಂಟರ್ಫೇಸ್ (ಲೈಬ್ರರಿಯ ರೂಪದಲ್ಲಿ) ಆಗಿದೆ. ಪರ್ಫಾರ್ಮೆನ್ಸ್ ಎಂಜಿನಿಯರಿಂಗ್ ಪರ್ಫಾರ್ಮೆನ್ಸ್ ಪ್ರಿಡಿಕ್ಷನ್ ಪರ್ಫಾರ್ಮೆನ್ಸ್ ಟ್ಯೂನಿಂಗ್ ರನ್ಟೈಮ್ ವೆರಿಫಿಕೇಷನ್ ಪ್ರೊಫೈಲ್-ಗೈಡೆಡ್ ಆಪ್ಟಿಮೈಸೇಶನ್ ಸ್ಟ್ಯಾಟಿಕ್ ಕೋಡ್ ಅನಾಲಿಸಿಸ್ ಸಾಫ್ಟ್ವೇರ್ ಆರ್ಕಿಯಾಲಜಿ ವರ್ಸ್ಟ್-ಕೇಸ್ ಎಕ್ಸಿಕ್ಯುಷನ್ ಟೈಮ್ (ಡಬ್ಲ್ಯುಸಿಇಟಿ) ಉಲ್ಲೇಖಗಳು ಬಾಹ್ಯ ಕೊಂಡಿಗಳು ಲೇಖನ "ವೇಗದ ಅಗತ್ಯ-ಕಾರ್ಯಕ್ಷಮತೆಯ ಅಡೆತಡೆಗಳನ್ನು ನಿವಾರಿಸುವುದು" ಐಬಿಎಂ ರೇಷನಲ್ ಅಪ್ಲಿಕೇಶನ್ ಡೆವಲಪರ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಜಾವಾ ಅಪ್ಲಿಕೇಶನ್ಗಳ ಕಾರ್ಯಗತಗೊಳಿಸುವ ಸಮಯದ ವಿಶ್ಲೇಷಣೆಯನ್ನು ಮಾಡುವುದು. ವಿ ಟ್ಯೂನ್ ಪರ್ಫಾರ್ಮೆನ್ಸ್ ಅನಲೈಜರ್ ಸಾಫ್ಟ್ವೇರ್ ಆಪ್ಟಿಮೈಸೇಶನ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಪ್ರೊಫೈಲಿಂಗ್ ರನ್ಟೈಮ್ ಜನರೇಟೆಡ್ ಮತ್ತು ಇಂಟರ್ಪ್ರಿಟೆಡ್ ಕೋಡ್