Optimizatsiya
Google da milliardlab qator kod bor.
Biror ish qilinganda uni testlash shart.
Testlar esa kompyuterda emas cloud'da run bo'ladi.
Biroz kod yozsangiz va uni merge qilmoqchi bo'lsangiz, sizni kodingiz yozilgan fayl ishlatilgan boshqa fayllarni testlari ham avtomatik ishga tushadi.
Bu juda ko'p testlar run bo'ladi degani.
Bir kuni 20 minut kutdim va testlardan bir nechtasi fail bo'ldi (muvafaqqiyatsiz bo'ldi).
To'g'irlab, yana run qildim va bu safar boshqa birlari fail bo'ldi.
Har safar 20 minut kutish (bazan 30) jonga tegdi.
Nega? degan savol berdim.
Birinchi martasida nima xato ketti ekan deb qaragan bo'lsam, ikkinchi safar nega buncha uzoq vaqt run bo'lyabdi deb qaradim.
AI bilan birga kodni titib, 2-3 ta yaxshilasa bo'ladigan joylar topdim.
1. Juda ko'p query'lar for loop da ketma-ket run bo'layotgan edi.
2. Setup qismida 30 ta table ni test qilish uchun 200 ta table yaratilayotgan edi (30 va 200 nisbatni ifodalash uchun, haqiqiy sonlar emas).
Yechimlar:
1. Parallel testlash
2. Setupni faqat kerakli table'larni yaratadigan qilib o'zgartirish.
Va nihoyat 20-30 minutdan -> 4-5 minutga tushdi.
#tajriba
JavaHere
Post #1042
11.7K
- ⚡ 91