സിപൈത്തൺ (CPython) എന്നത് പൈത്തൺ പ്രോഗ്രാമിംഗ് ഭാഷയുടെ സാങ്കേതിക നടപ്പാക്കലാണ്. സിയും പൈത്തണും ഉപയോഗിച്ച് എഴുതിയ ഈ നടപ്പാക്കൽ, പൈത്തൺ ഭാഷയുടെ ഡിഫോൾട്ട് പതിപ്പായും ഏറ്റവും വ്യാപകമായി ഉപയോഗിക്കപ്പെടുന്ന പതിപ്പായും നിലകൊള്ളുന്നു. സിപൈത്തൺ ഒരു ഇന്റർപ്രെട്ടർ ആണ്. ഫോറിൻ ഫംഗ്ഷൻ ഇൻറർഫേസ് (FFI) ഉപയോഗിച്ച് ഒരു പ്രോഗ്രാമിംഗ് ഭാഷയുടെ ഫംഗ്ഷനുകൾ മറ്റൊരു ഭാഷയിൽ ഉപയോഗിക്കാൻ സാധ്യമാക്കുന്നു. ഉദാഹരണത്തിന്, പൈത്തൺ പ്രോഗ്രാമിൽ സി ഭാഷയുടെ ഫംഗ്ഷനുകൾ ഉപയോഗിക്കുന്നതിന് എഫഎഫ്ഐയുടെ(FFI) സഹായം ആവശ്യമാകും. പൈത്തണിൽ സിലേക്കുള്ള ബൈൻഡിങ്ങുകൾ എഴുതുക വഴി, പൈത്തൺ കോഡിൽ സിലേക്കുള്ള ഫംഗ്ഷനുകൾ എളുപ്പത്തിൽ ഉപയോഗിക്കാം.
ഡിസൈൻ
ഓരോ സിപൈത്തൺ ഇൻർപ്രെട്ടർ പ്രക്രിയയിലും ഒരു ഗ്ലോബൽ ഇൻർപ്രെട്ടർ ലോക്ക് (ജിഎൽ) ഉപയോഗിക്കുന്ന സിപൈത്തണ് പ്രബലമായ പരിമിതി ഉണ്ട്. ഒരു പ്രോസസ്സിൽ തന്നെ പൈത്തൺ ത്രെഡുകൾ സാദ്ധ്യമാക്കുന്നു.[1] ഒരു മൾട്ടിടാസ്കിങ് ഓപ്പറേറ്റിങ് സിസ്റ്റത്തിലൂടെ കൈകാര്യം ചെയ്യുന്ന സിപൈത്തൺ ഇൻർപ്രെട്ടർ പ്രക്രയിലൂടെ മാത്രമേ ഒരുമിച്ചുള്ള പ്രവർത്തനം സാധ്യമാകുകയുള്ളു. ഇത്തരത്തിലുള്ള പൈത്തൺ പ്രക്രിയകൾ തമ്മിലുള്ള ആശയവിനിമയം സങ്കീർണ്ണമാകുകയും ചെയ്തു, മൾട്ടിപ്രോസസിങ് ഘടകം ഈ പ്രക്രിയ കുറച്ചെങ്കിലും ലഘൂകരിക്കുന്നു. സിപൈത്തണിൽ നിന്നും ജി.ഐ.എൽ(GIL) നീക്കം ചെയ്യണോ വേണ്ടയോ എന്ന കാര്യത്തിൽ കൂടുതൽ ചർച്ചകൾ നടന്നു. സിപൈത്തണിലേക്കുള്ള ഒരു കൂട്ടം "ഫ്രീ ത്രെഡിംഗ്" പാച്ചുകൾ ഗ്രെഗ് സ്റ്റെയിൻ സമർപ്പിക്കുകയും, ഫലപ്രദമായി ജി.ഐ.എല്ലിന് പകരം വയ്ക്കാൻ പറ്റുകയും ചെയ്തു. എക്സിക്യൂഷൻ ഓവർഹെഡ് കാരണം സിംഗിൾ പ്രോസസ് കോഡുകളിലേക്ക് പ്രവേശിച്ചതിനാൽ പാച്ചുകൾ നിരസിക്കപ്പെട്ടു.[2]
പൈത്തൺ സോഫ്റ്റ് വെയർ ഫൗണ്ടേഷൻറെ സിപൈത്തൺ പിന്തുണയ്ക്കാത്ത PEP 11 [5] പ്ലാറ്റ്ഫോമുകൾ നൽകുന്നു. ഈ പ്ലാറ്റ്ഫോമുകൾക്ക് ഇപ്പോൾ ബാഹ്യ പോർട്ടുകൾ പിന്തുണയ്ക്കാൻ കഴിയും. ഈ പോർട്ടുകളിൽ ഇവ ഉൾപ്പെടുന്നു:
പുറം പോർട്ടുകൾ പൈത്തൺ സോഫ്റ്റ് വെയർ ഫൗണ്ടേഷൻറെ സിപൈത്തൺറെ ഔദ്യോഗിക പതിപ്പിലേക്ക് ചേർത്തിരിക്കുന്നു. ഇതിൻറെ പ്രധാന ഡവലപ്മെൻറ് സൈറ്റുകളിലേക്ക് ലിങ്കുകളുണ്ട്, പലപ്പോഴും പ്ലാറ്റ്ഫോം നിർദ്ദിഷ്ട പ്രവർത്തനങ്ങ ൾക്കായുള്ള അധിക ഘടകങ്ങൾ ഉൾപ്പെടുന്നു, പിഎസ്പി (PSP) യ്ക്കായുള്ള ഗ്രാഫിക്സ്, സൗണ്ട് എപിഐ എന്നിവ പോലെ എസ്60(S60)ക്കായുള്ള എസ്എംഎസ്(SMS), ക്യാമറ എപിഐ എന്നിവ ഈ പോർട്ടുകളിൽ ഇവ ഉൾപ്പെടുന്നു:
അൺലാഡൻ സ്വാളോ സിപൈത്തണിൻറെ ഉത്തമീകരിച്ച ബ്രാഞ്ചാണ്, പൂർണ്ണമായും അനുയോജ്യമായതും കൂടുതൽ വേഗമേറിയതും ആയിരിക്കാനാണ് ഉദ്ദേശിക്കുന്നത്. സിപൈത്തണിൻറെ ഇഷ്ടാനുസൃത അയഥാർത്ഥ യന്ത്ര(Virtual Machine)വുമായി എൽ.എൽ.വി.എം ഉപയോഗിച്ച് നിർമ്മിച്ച ലളിതമായ ഒരു ജസ്റ്റ്-ഇൻ-ടൈം കമ്പൈലർ ഉപയോഗിച്ച് ലക്ഷ്യം നേടുകയാണ് ആണ് ഇതിൻറെ ഉദ്ദേശം. സിപൈ ത്തണിൻറെ അഞ്ചിൽ ഒരു ഘടകം വേഗത മെച്ചപ്പെടുത്തുന്നതിൻറെ ലക്ഷ്യം ഈ പദ്ധതിയിൽ പറഞ്ഞിരുന്നു; [59]പക്ഷേ ഈ ലക്ഷ്യം കൈവരിക്കാനായില്ല. [60]
ഈ പദ്ധതിക്ക് വേണ്ടി ഗൂഗിൾ ആണ് പണം മുടക്കുന്നത്. പ്രോജക്റ്റ് ഉടമകളായ തോമസ് വൗഡേഴ്സ്, ജെഫ്രി യാസ്സിൻ, കോളിൻ വിൻറർ എന്നിവരാണ് മുഴുവൻ സമയ ഗൂഗിൾ ജീവനക്കാർ.[61] എന്നിരുന്നാലും മിക്ക പദ്ധതി സംഭാവനക്കാരും ഗൂഗിൾ ജീവനക്കാരല്ല. [62]അൺലാഡൻ സ്വാളോ ഗൂഗിൾ കോഡിൽ ഹോസ്റ്റുചെയ്തു. [63]
പൈത്തൺ ഭാഷയെ സംബന്ധിച്ച നിരവധി കാര്യങ്ങൾ പോലെ, അൺലാഡൻ സ്വാളോ എന്ന പേര് ഒരു മോണ്ടി പൈത്തൺ റഫറൻസ് ആണ്, മോണ്ടി പൈത്തൺ ആൻഡ് ദി ഗ്രേറ്റ് ഗ്രേയിൽ എന്ന തമാശ സിനിമയിൽ നിന്നാണ് ഇതിൻറെ ഉൽഭവം.
പ്രസിദ്ധീകരിക്കപ്പെട്ട എല്ലാ ലക്ഷ്യങ്ങളും ചുരുങ്ങുകയാണെങ്കിലും, അൺലാഡൻ സ്വാളോ, പ്രധാന പൈത്തൺ നടപ്പിലാക്കലുകൾക്കു വേണ്ടി ചില കോഡ് കൂട്ടിച്ചേർത്തു, ഉദാഹരണത്തിന് സിപിക്കിൾ (cPickle) ഘടന മെച്ചപ്പെടുത്തൽ പോലുള്ളവ.[64]
2010 ജൂലായിൽ, പദ്ധതി നിർജ്ജീവമായി എന്നോ നിർജ്ജീവമായിക്കൊണ്ടിരിക്കു കയാണെന്നോ ചില നിരീക്ഷകർ ഊഹിച്ചു, 2009 മുതൽ ക്യൂ 4 നാഴികക്കല്ലുകൾ ഇതുവരെ പുറത്തുവിട്ടിട്ടില്ല.[65] 2010 ജനുവരിയിൽ അൺലാഡൻറെ മെയിലിങ് ലിസ്റ്റിലെ ട്രാഫിക് 500 സന്ദേശങ്ങളിൽ താഴെയായി. 2010 സെപ്റ്റംബറിൽ 10 ൽ കുറവായി.[66] അൺലാഡൻ പദ്ധതിക്ക് ഗൂഗിളിൻറെ ഫണ്ടിംഗ് നഷ്ടപ്പെട്ടതായി റിപ്പോർട്ട് ചെയ്യപ്പെട്ടിട്ടുണ്ട്.[67] 2010 നവംബറിൽ പ്രധാന നിർമ്മാതാക്കളിൽ ഒരാൾ ഇപ്രകാരം പ്രഖ്യാപിച്ചു."ജെഫ്രിയും ഞാനും ഗൂഗിളിനു വേണ്ടി കൂടുതൽ പ്രാധാന്യം ഉള്ള മറ്റു പ്രോജക്ടുകൾക്കായി സമയം നീക്കിവെച്ചു".[68]
2010 ജനുവരി 26 ന് 2009 ക്യു 4 വികസിപ്പിച്ച ശാഖ നിലവിൽ വന്നു.[69] പക്ഷേ വെബ്സൈറ്റിൽ പരസ്യങ്ങളൊന്നും നടത്തിയിട്ടില്ല. കൂടാതെ, ദീർഘകാല പദ്ധതികൾ സംബന്ധിച്ച്, പ്രോജക്റ്റ് പൈത്തൺ 2.7 റിലീസ് വിട്ടുപോകുമ്പോൾ, ഒരു പൈത്തൺ എൻഹാൻസ്മെൻറ് നിർദ്ദേശം (പിഇപി) [60] സ്വീകരിക്കുകയും, പൈത്തണിൻറെ ഔദ്യോഗിക റിപോസിറ്ററിയുടെ പ്രത്യേക പൈ3കെ-ജിറ്റ്(py3k-jit) ശാഖയിലേക്ക് അൺലാഡൻ സ്വാളോ ലയിപ്പിച്ചു. 2010 ജൂലൈ വരെ ഈ ജോലി തുടർന്നു. [70] ഈ ലയനം അല്പം സമയമെടുക്കുമായിരുന്നു, കാരണം അൺലാഡൻ സ്വാളോ പൈത്തൺ 2.6 അടിസ്ഥാനമാക്കിയിട്ടുള്ളതായിരുന്നു.[71] പൈത്തൺ 3 അനുയോജ്യത (compatibility)(കൂടുതൽ വിവരങ്ങൾക്കായി പൈത്തൺ 3000 കാണുക)നഷ്ടപ്പെടുകയും, അതിനെത്തുടർന്ന്, പിഇപി പിൻവലിക്കുകയും ചെയ്തു.
2011 ൻറെ തുടക്കത്തിൽ, പദ്ധതി നിർത്തിവയ്ക്കപ്പെട്ടു എന്ന് വ്യക്തമായി. [72]
2009 ക്യു 3യും അതിനുമപ്പുറവും: മെമ്മറി ഉപയോഗം കുറയ്ക്കുക, വേഗത വർദ്ധിപ്പിക്കുക [75]
ഇതരമാർഗ്ഗങ്ങൾ
അനേകം "ഉൽപാദന നിലവാരമുള്ള" പൈത്തൺ നടപ്പിലാക്കിലുകളിൽ ഒന്നാണ് സിപൈത്തൺ, ജൈത്തൺ(Jython)ഉൾപ്പെടെ, ജാവ വെർച്വൽ മെഷീനു(ജെവിഎം) വേണ്ടി ജാവയിൽ എഴുതിയതും, ആർപൈത്തണിൽ(RPython) എഴുതിയ പൈപൈ(PyPy) സിയിലേക്ക് തർജ്ജിമ ചെയ്യുകയും ചെയ്തു. ഒപ്പം അയൺ പൈത്തണും(IronPython), ഇത് സാധാരണ ഭാഷ ആന്തരഘടനക്ക് വേണ്ടി സി#(സി ഷാർപ്പ്)ൽ എഴുതപ്പെട്ടിട്ടുള്ളതാണ്. നിരവധി പരീക്ഷണ പ്രവർത്തനങ്ങളും ഉണ്ട്. [76]