Set of project to test how fast is compilation on your computer

Overview

Бенчмарк сборки Android проектов

Репозиторий содержит несколько проектов, для которые необходимо запустить тесты и зарепортить их результаты

Методика проведения

Настройка софта

  1. Установить Gradle Profiler

    • Установка на Windows

      1. Скачайте прикрепленный ниже Gradle Profiler
      2. Добавьте из скаченного архива папку bin в $PATH

      gradle-profiler.zip

  2. Установить JDK 11 (или обновить до последней версии) и сделать ее по умолчанию (прописать в JAVA_HOME). Для X86-64 брать версию OpenJDK, а для Apple M1 - Zulu ARM. Также убедитесь что она обновлена у нас до последней ревизии

Подготовка компьютера перед запуском теста

  • Отключить внешние дисплеи

  • Ноутбук подключить к питанию

  • Отключить антивирус

    • Настройки исключений для ускорения сборки на Windows
      • путь к папки проектов.
      • Папку Android SDK
      • Папку с Android Studio
      • Папку JDK (если не в Android Studio папки)
      • $HOME/AppData/Local/Google
      • $HOME/.android
      • $HOME/.gradle
      • Добавить в исключения и процессы. Можно указывать папки или полный путь
  • По максимум закрыть все фоновые программы

    ОБЯЗАТЕЛЬНО Отключить Android Studio!

  • Включить производительный режим в настройках

  • Ноутбук ставить на плоскую твердую поверхность, чтобы не было проблем с охлаждением и забором воздуха

  • Не трогать компьютер во время теста

  • Отключить индексацию поиска/Spotlight или добавить папку с проектами для тестов в исключения

Проведение теста

  1. Клонировать репозиторий с тестовыми проектами
  2. Скопировать в папку файл local.properties (можно взять в любом вашем проекте, который был импортирован в Android Studio) или в переменные окружения добавить переменную ANDROID_SDK_DIR. Там указывается путь к SDK и NDK.

Запустить из терминала в папке проекта команду

gradle-profiler --benchmark --scenario-file performance.scenarios clean_build

Отправить результаты

Отправляйте результаты через форму.

Важно на каждый компьютер и версию ОС форма заполняется отдельно

You might also like...

Text to Speech Project for Spring Boot and Kotlin, Auth Server, Python with Fast API (gTTS)

Text to Speech Project for Spring Boot and Kotlin, Auth Server, Python with Fast API (gTTS)

TTS-App Text to Speech Project for Spring Boot Module (etc Resource, Auth Server, Python with Fast API (gTTS)) Python의 gTTS lib를 활용하여 텍스트를 음성으로 변환하는 서

Dec 21, 2021

This project will help to test the Log4j CVE-2021-44228 vulnerability.

Log4j-JNDIServer This project will help to test the Log4j CVE-2021-44228/CVE-2021-45046 vulnerabilities. Installation and Building Load the project on

Jun 30, 2022

Section B of Assignment 1. Setup project and collaborate on GitHub by writing test fixtures.

Section B of Assignment 1. Setup project and collaborate on GitHub by writing test fixtures.

Task Each member (including the team leader) should create a branch (use student number as the branch name) and include a small program in the branch

Apr 6, 2022

How to configure Replica Set with Embedded Mongo using Spring Boot and Flapdoodle for unit testing code that uses mongodb transactions

Spring Boot Embedded Mongo with Replica Set This project defines a basic rest service that allows users to update records of a Person (name and email)

Nov 1, 2022

Spawn in the nether with a set of items. Made by logwet, designed by k4yfour, idea by Fyroah.

Spawn in the nether with a set of items. Made by logwet, designed by k4yfour, idea by Fyroah.

Noverworld Noverworld About Creating your own custom inventory Support FAQ About When you create a new world, you will spawn in the nether at a portal

Nov 24, 2022

A set of example projects utilizing Discord4J

Discord4J Example Projects Provided are a set of very simple example projects showcasing two simple slash commands: ping-pong and greet using Discord4

Nov 8, 2022

Generate a dynamic PAC script that will route traffic to your Burp proxy only if it matches the scope defined in your Burp target.

Generate a dynamic PAC script that will route traffic to your Burp proxy only if it matches the scope defined in your Burp target.

Burp PAC Server This Burp Extension generates a dynamic Proxy Auto-Configuration (PAC) script that will route traffic to your Burp proxy only if it ma

Jun 13, 2022

A minecraft minigame where you have to defend your bed and destroy the others. Once your bed is destroyed, you cannot respawn.

A minecraft minigame where you have to defend your bed and destroy the others. Once your bed is destroyed, you cannot respawn.

As from November 1st 2021 BedWars1058 by Andrei Dascălu becomes open source under GNU GPL 3.0 license. If you are a developer I would really appreciat

Dec 26, 2022

Create your Java crypto trading bot in minutes. Our Spring boot starter takes care of exchange connections, accounts, orders, trades, and positions so you can focus on building your strategies.

Create your Java crypto trading bot in minutes. Our Spring boot starter takes care of exchange connections, accounts, orders, trades, and positions so you can focus on building your strategies.

Quick Start | Documentation | Discord | Twitter Create and run your java crypto trading bot in minutes Our Spring boot starter takes care of exchange

Jan 3, 2023
Owner
Android Broadcast
Everything about Android Development in Russian
Android Broadcast
Final project of my Computer Science major in high school

BattleShips Final project of my Computer Science major in high school. I've coded an android app (in Java) in which users can play the game "Battle Sh

null 3 Jul 28, 2021
🎒 💻 Material for Computer Club Classes

MNNIT Computer Coding Club This repository contains the codes, support links and other relevant materials for every class under Computer Coding Club,

MNNIT Computer Club 409 Dec 18, 2022
Python wrapper around the BoofCV Computer Vision Library

PyBoof is Python wrapper for the computer vision library BoofCV. Since this is a Java library you will need to have java and javac installed. The form

Peter Abeles 44 Dec 30, 2022
Operating Systems - Concepts of computer operating systems including concurrency, memory management, file systems, multitasking, performance analysis, and security. Offered spring only.

Nachos for Java README Welcome to Nachos for Java. We believe that working in Java rather than C++ will greatly simplify the development process by p

Sabir Kirpal 1 Nov 28, 2021
Pinball 99 for the Ti-99/4A home computer

Pinball 99 For the TI-99/4A home computer Building the cartridge ROM Only tested under Windows The xdt99 tools from https://github.com/endlos99/xdt99

Rasmus Moustgaard 5 Oct 14, 2022
An assistance platform made using Spring framework that analyses your code, and helps you either to start a devops project, or to turn an existing project into a devops project using open source software (Git, Docker, Jenkins..)

DevOpsify Description An assistance platform made using Spring framework that analyses your code, and helps you either to start a devops project, or t

obaydah bouifadene 14 Nov 8, 2022
The open source CyborgFlow project is an out-of-the-box (OOTB) solution to perform load test on your online system.

CyborgFlow CyborgFlow provides an out-of-the-box (OOTB) solution to perform load test on your online system, powered by Apache APISIX, Apache SkyWalki

SphereEx 70 Nov 30, 2022
A template for a Forge + Fabric project setup using a Common source set.

MultiLoader Template This project provides a Gradle project template that can compile mods for both Forge and Fabric using a common sourceset. This pr

Jared 130 Jan 5, 2023
Auto-Unit-Test-Case-Generator automatically generates high-level code-coverage JUnit test suites for Java, widely used within the ANT Group.

中文README传送门 What is Auto-Unit-Test-Case-Generator Auto-Unit-Test-Case-Generator generates JUnit test suites for Java class just as its name. During te

TRaaS 108 Dec 22, 2022
A fast and reliable Java micro-library which chooses the sorting algorithm that best fits your needs and sorts the parameter.

A fast and reliable Java micro-library which chooses the sorting algorithm that best fits your needs and sorts the parameter.

Simone Nicol 2 Feb 19, 2022