Python tezroqmi yoki PHPmi?
Bu savolga javob berish maqsadida keling faqat Web Applicationlar haqida gaplashaylik, chunki ko’pchilik aynan shu ish bilan shug’illanadi.
Ho’p, faraz qilaylik PHP tezroq deb. Unda savol tug’iladi: Nega kompaniyalar Pythonni ishlatadi unda?
Chunki til tezligining ahamiyati bunday loyihalarda katta emas.
«Aqling joyidami? Qanaqasiga muhim bo’lmasligi mumkin?» deyapsiza. Isbotlashga harakat qilaman.
Lekin undan oldin hammamiz bir narsani yaxshi tushinib olishimiz kerak. Web loyihalarda 3ta asosiy qismlar mavjud: Klient, server va ma’lumotlar bazasi.
Klientga misol qilib browserlarni (Chrome, Firefox va hokazo) yoki mobile applicationlarni keltirishimiz mumkin.
Serverga esa o’sha siz PHP yoki Pythonda yozgan backend qismini misol qilishimiz mumkin.
Ma’lumotlar bazasi esa bu… ma’lumotlar bazasi. U yerda ma’lumotlar saqlanadi. Buni hammamiz bilamiz. Misol qilib PostgreSQL yoki MySQLni keltirishimiz mumkin.
Ana endi tasavvur qiling biz Eastsinster Universiteti uchun web loyiha qilyapmiz. Bu loyihanining funksiyalaridan biri bu talabalar ro’yxatini ko’rsatish. Mana shu ishni qilishimiz uchun, yani talabalar ro’yxatini ko’rsatishimiz uchun tepada gaplashgan klient, server va ma’lumotlar bazasi o’zaro quyidagicha gaplashishadi:
1. Klient serverdan «talabalar ro’yxatini ber» deb so’rov yuboradi.
2. Server (PHP yoki Pythonda yozilgan) klientning so’rovni oladida qaraydi. Qarasa, talabalar ro’yxati kerak ekan. Ro’yxatni qayerdan oladi? Ma’lumotlar bazasidan. Shuning uchun server ham so’rov yuboradi ma’lumotlar bazasiga.
4. Ma’lumotlar bazasi so’rovni qabul qilib, kerakli ma’lumotlarni serverga yuboradi.
5. Server bazadan javobni qabul qilib, klient tushunadigan formatga o’girib natijani klientga qaytarib yuboradi.
6. Klient serverdan kelgan ma’lumotni olib ekranda ko’rsatadi.
Oddiyroq qilib chizadigan bo’lsak, quyidagicha bo’ladi:
Klient -> Server -> MB -> Server -> Klient
E’tibor bering! Barcha qismlar so’rov yuborish bilan band asosan. Hattoki PHP yoki Pythonda yozilgan server ham. U ortiqcha katta ish qilmaydi.
Xulosa qilib aytishimiz mumkin-ki, asosiy vaqt so’rov yuborish/qabul qilishga sarflanadi. Bu esa tilning tezligiga emas, network tezligiga bog’liq.
Raqam qo’yib aytadigan bo’lsak, butun ishni qilish uchun 400 ms ketdi deylik. Shu 400ning 300msi networkga ketsa, 100msi server qiladigan ishga ketadi. Deylik Python emas PHPda yozsangiz 100ms o’rniga 50ms ketadi, 2 barovar qisqardi. Lekin umumiy vaqt 350ms bo’ladi holos. Katta farq bo’lmaydi.
Agar server so’rovlardan tashqari boshqa kuchliroq ish qilganda edi, tilni tezligiga qarasak bo’lardi.
Albatta bu bitta misol holos. Bunday savollarga 100% javob berib bo’lmaydi. Har doim holatga qarab ish tutiladi. Shunchaki qanday fikrlash kerakligi haqida bo’lishdim.
Manba:
Umumiy Dasturlash
Python tezroqmi yoki PHPmi?