කොටින් තාක්ෂණික සමාගම් නව භාෂාවකට මාරු වීමේදී, බොහෝවිට “අධික වේගය” කියලා සිතනවා. Momento සමාගමත් එම සිතුවිල්ලෙන් පටන් ගත්තේය – Kotlin සිට Rust වෙත මාරු වීමෙන් ඉලෙක්ට්රොනික වේගයක් ලැබෙනු ඇතැයි.
ඇත්ත වශයෙන්ම, Momento ත්රිවර්ෂයක් පුරා සිය සේවා කොඩ් එකක් Rust වෙත පුරා පිරිසිදු කළා. ඒකේ ප්රධාන අරමුණ වූයේ කාර්ය සාධනය වැඩි කිරීම. නමුත්, ඔවුන්ට ලැබුණු ප්රථම ප්රතිඵලය “වේගය” නොව, ඉංජිනේරු ආතතිය අඩුවීම විය.
1. සංකල්පනීය සංග්රාමකරු – Rust Compiler
Kotlin වලදී, account_id එක user_id එකට ගැලපෙන්න පුළුවන්, IDE එකත් ඒක ගැන සැලකිල්ලක් නොදෙනවා. ඒ නිසා 2am කාලයේ production එක බිඳ වැටෙයි. Rust හි Compiler එක, ඔබේ කේතය සෑම විටම පරීක්ෂා කර, අසත්ය වර්ග හෝ අනිවාර්ය reference ගැලපීම වැනි වැරදි පූර්වයෙන්ම නවතයි. Borrow Checker කියන්නේ “මගේ මරණයත් සමඟම ඔබට මේක කරන්න බැහැ” කියන කතාකාරකය.
2. නරක ඇල්ගොරිතමන්වලට වඩා වේගය නොලැබේ
Python එකේ නරක ඇල්ගොරිතමක් ලියනවානම්, ඒක මන්දගාමී වේ. Rust එකේ නරක ඇල්ගොරිතමක් ලියනවානම්, එය ආරක්ෂිත, සමාන්තර, නමුත් මන්දගාමී වේ. Momento පළමු Rust පරිවර්තනයේදී, මූලික තත්ත්වයන් (dynamic string allocation, lock contention) තවත් අඩු නොකළ නිසා latency අඩු නොවුණා. ඒත් flamegraphs, Criterion වැනි profiling tools භාවිතයෙන් පසු, අඩු lock designs හරහා throughput වැඩි වුණා.
3. Throughput & Cloud Bill හි සැබෑ ප්රතිඵල
Latency එක අඩු නොවූවත්, එක් instance එකේ request ගණන 20,000 සිට 100,000 දක්වා ගුණයක් වර්ධනය වුණා. සාමාන්ය scaling එක “AWS instance වැඩි කරමු” කියනවානම්, Rust scaling එක “servers 80% කින් අඩු කරමු, වැඩේ හරි” කියනවා. මෙය infrastructure සමාගම් සඳහා මූල්යමය සුභාෂිතයක්.
4. Rust හඳුන්වන්න කෙසේද?
Momento සෑම core එකම එක දිගටම නැවත ලියන එකක් නොකළා. පළමුව internal CLI tool එකක් හදලා, performance‑critical hot spot එකකට පමණක් මාරු කළා. “Rust Guru” කෙනෙක් මූලික lifetimes, async patterns ගැන මග පෙන්වීමෙන්, අනෙක් සංවර්ධකයින්ට compiler errors ගැන අධික කණගාටුවක් නොවීය.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලාංකීය තාක්ෂණ ශිෂ්යයින්, සංවර්ධකයින්, ව්යාපාරිකයින්ට මේ අත්දැකීමෙන් ලැබෙන ප්රයෝජන මෙසේය:
- ආරක්ෂිත කේත ලිවීම: Borrow Checker මඟින් runtime bugs අඩුවේ, production ගැටළු අඩු වේ.
- වඩාත් කාර්යක්ෂම සම්පත් භාවිතය: Cloud bill අඩුවීම, servers අඩුවීමෙන් ව්යාපාරික ROI වැඩි වේ.
- ඉගෙනීමේ අවස්ථා: Rust ග්රහණය කිරීමෙන්, ශ්රී ලංකාවේ developer community එකට modern systems programming අත්දැකීමක් ලැබේ.
අවසන් වශයෙන්, Rust යනු “මැජික් performance engine” නොව, “ඉංජිනේරු ආරක්ෂක ජාලය” වේ. එය සංවර්ධකයින්ට අලුත් ideas පරීක්ෂා කිරීමට, refactor කිරීමට, හා production එක බිඳ වැටීමේ භය නැතිව code push කිරීමට හැකියාව සලසයි.