Сьогодні ми розмірковуємо про тестування продуктивності хмарних сервісів і систем віртуалізації, а також робимо корисні висновки. Але перш ніж говорити про benchmarking'е, давайте подумаємо, як же правильно проводити тести в віртуальної середовищі? Насправді, в цьому питанні є і свої хитрощі, і свої, вже перевірені методи.

Читати далі →

Порівняння продуктивності UI в WPF, Qt, WinForms і FLTK

Під мірою продуктивності UI, будемо розуміти кількість відгуків на дії користувача в одиницю часу. А під відгуком — запитувану користувачем реакцію програми.

Малим часом відгуку, можна пояснити ряд переваг користувача:
1. Перевага аналогових інтерфейсів цифрових (когада виникає затримка на обробці цифрового введення)
2. На зорі Windows, — уподобання користувачів працювати з DOS програмами в «текстовому режимі», а не з GUI аналогами в Windows (час відгуку в текстовому режимі тоді було помітно менше на подібною платформі)
3. Перевагу реальних ігрових консолей їх эмуляторам (емулятори часто мають час відгуку відрізняється від часу відгуку оригінальних консолей)
4. Перевагу користувачів iOS і Android щодо WinCE і Symbian (серед іншого, наприклад в iOS ставилася мета швидкого відгуку і підтримки 60 FPS, Android хоча і не ставив таких цілей було помітно чутливішими WinCE і Symbian)
5. В автомобілях — неоднозначне ставлення користувачів до автоматичною коробками передач, електронної педалі газу і деяким іншим системам вносять затримку між керуючим впливом і реакцією на нього (це відноситься до найменш " просунутим версіями цих рішень)

Великий час відгуку є по суті «зворотним зв'язком з запізненням», про яку більш докладно можна прочитати тут: «Зворотній зв'язок з запізненням в крані з гарячою водою, марсохід та демографічної піраміді»

Читати далі →

Пишемо швидкий і економний код на JavaScript

Такий движок JS, як V8 (Chrome, Node) від Google, заточений для швидкого виконання великих додатків. Якщо ви під час розробки дбаєте про ефективне використання пам'яті і швидкодії, вам необхідно знати дещо про процесах, що проходять в движку JS браузера.

Що б там не було — V8, SpiderMonkey (Firefox), Carakan (Opera), Chakra (IE) або щось ще, знання внутрішніх процесів допоможе вам оптимізувати роботу ваших додатків. Але не закликаю вас оптимізувати движок для одного браузера або движка — не робіть так.

Задайте собі питання:
— чи можна щось у моєму коді зробити більш ефективним?
— яку проводять оптимізацію популярні движки JS?
— що движок не може компенсувати, і може збірка сміття підчистити все так, як я від неї чекаю?



Є багато пасток, пов'язаних з ефективним використанням пам'яті і швидкодією, і в статті ми вивчимо деякі підходи, які добре показали себе в тестах.

Читати далі →

Rally: Тестувати OpenStack за допомогою Tempest стало просто (простіше)

    Автор: Андрій Курилин
 
У сучасному світі, при побудові хмарних сервісів обмежитися лише установкою платформи не вдається, доводиться модернізувати компоненти, інтегрувати нові апаратні засоби, займатися масштабуванням і вносити безліч змін в налаштування. Але як при цьому залишатися впевненим у тому, що після всіх цих змін ваше хмара продовжить справно працювати і служити на благо імперії замовникам?
Читати далі →

Занадто швидкий, занадто мегаморфний: що впливає на продуктивність виклику методу в Java?

       Від перекладача:
суперечка прихильників написання final скрізь і всюди і їх супротивників те саме спору остроконечников і тупоконечников. Як і в деяких інших спільнотах, в нашій компанії цей уповільнений суперечка йшла роками. І тільки ця стаття Річарда Вербертона (Richard Warburton) дозволила нашим гострокінечників взяти верх.

 
 
Про що мова?
Почнемо з невеликого оповідання. Кілька тижнів тому я відправив у список розсилки Java core libs свою пропозицію прибрати модифікатор final з деяких методів. У результаті виникло декілька тем для дискусії. Одна з них, наприклад, — з'ясувати, якою мірою погіршиться продуктивність виклику методу, який був final , якщо цей final з нього прибрати.
 
У мене були деякі міркування про те, виникне регресія продуктивності чи ні, але я спочатку спробував дізнатися, публікував чи хто-небудь вже результати бенчмарків з цього питання. На жаль, я нічого не зміг знайти. Це не означає, що вони не існують або що інші люди не досліджували ситуацію, але я не зустрічав жодного коду, що пройшов експертну перевірку. Так що саме час написати кілька бенчмарків.
 
Читати далі →