Memoization ஒரு function-இன் முடிவுகளை அதன் arguments-ஐ key ஆகக் கொண்டு cache செய்கிறது, இதனால் ஒரே inputs-உடன் மீண்டும் மீண்டும் வரும் calls மறு கணக்கீடு செய்யாமல் cache செய்யப்பட்ட முடிவை உடனடியாகத் திருப்பித் தருகின்றன. இது வேகத்திற்காக memory-ஐ பரிமாறுகிறது மற்றும் pure functions-க்கு மட்டுமே வேலை செய்கிறது (ஒரே input → ஒரே output, side effects இல்லை).
ஒரு பொதுவான memoize wrapper
js
() {
cache = ();
{
key = .(args);
(cache.(key)) {
cache.(key);
}
result = (...args);
cache.(key, result);
result;
};
}
= n => { n * n; };
fastSquare = (slowSquare);
();
();
