англійськафранцузькаіспанська

Ad


Значок OnWorks

makepp_sandboxes - онлайн у хмарі

Запустіть makepp_sandboxes у постачальника безкоштовного хостингу OnWorks через Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS

Це команда makepp_sandboxes, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн емулятор Windows або онлайн емулятор MAC OS

ПРОГРАМА:

ІМ'Я


makepp_sandboxes -- Як розбити збірку makepp

ОПИС


D: --добудувати,
--не будувати,
--не читати,
-- читайте, I: --у пісочниці,
--всередині пісочниці, O: -- поза пісочницею, S: --пісочниця,
--пісочниця-попередження,
--попередження про пісочницю, V: -- віртуальна пісочниця

Існує кілька причин, за якими ви можете розбити дерево файлів для makepp
збірка:

1. Якщо ви знаєте, що на більшість дерева не впливають жодні зміни, внесені до
вихідні файли, починаючи з попередньої збірки, то ви можете сказати makepp вважати, що файли
в тих частинах дерева вже сучасні, що означає навіть не приховано
завантаження своїх make-файлів, не кажучи вже про обчислення та перевірку їх залежностей. (Примітка
однак явно завантажені make-файли все ще завантажуються.)

2. Якщо у вас є кілька процесів makepp, які звертаються до одного дерева, ви хочете підняти
помилка, якщо ви виявите, що два паралельні процеси записують одну і ту ж частину файлу
дерево, або що один процес зчитує частину дерева, що є паралельним процесом
написання. У будь-якому випадку, у вас є гонка, в якій відносний порядок подій
у двох одночасних процесах (що не може бути гарантовано) може вплинути на результат.

Makepp має засоби пісочниці, які вирішують обидві проблеми.

Пісочниці Опції
Наступні параметри makepp можна використовувати для встановлення властивостей пісочниці піддерева
дається шлях і всі його файли та потенційні файли:

--не будуйте шлях
--добудувати шлях
Встановіть або скиньте властивість «dont-build». Припускається, що будь-який файл із цим набором властивостей
бути вже оновленим, і жодні перевірки збірки не виконуватимуться. За замовчуванням встановлено скидання
(тобто «do-build»), за винятком випадків, коли у вас є «RootMakeppfile», у цьому випадку все
поза його ідентифікатором піддерева "dont-build".

--пісочниця шлях
--в пісочниці шлях
--всередині-пісочниці шлях
--поза пісочниці шлях
Встановіть або скиньте властивість "в пісочниці". Виникає помилка, якщо в іншому випадку makepp
написати файл зі скиданням цієї властивості. Перевірки збірки все ще виконуються, якщо не
Також встановлено властивість "dont-build". За замовчуванням встановлено (тобто "в пісочниці"), якщо
є такі --пісочниця параметри, у цьому випадку за замовчуванням для всіх інших файлів є
скидання (тобто «поза пісочниці»).

--пісочниця-попередження
--пісочниця-попередження
Зменшіть версію порушень «в пісочниці» та «не читати» до попереджень замість помилок.
Це корисно, коли є сотні порушень, щоб ви могли зібрати всі
їх за один запуск і вжити відповідних коригувальних заходів. Інакше ви бачите тільки
одне порушення на виклик makepp, і ви не знаєте, скільки їх залишилося
вони всі виправлені.

--не читати шлях
-- читайте шлях
Встановіть або скиньте властивість «не читати». Виникає помилка, якщо в іншому випадку makepp
прочитати файл із цим набором властивостей. За замовчуванням є скидання (тобто "зробити читання").

-- віртуальна пісочниця
Не переписуйте інформацію про збірку файлів, які не були створені цим процесом makepp. Це
корисно під час одночасного запуску процесів makepp з перекриваються пісочницями, і ви
впевнені, що два процеси не намагатимуться побудувати ту саму мету. Makepp буде
тоді утримайтеся від кешування додаткової інформації про файли, які він зчитує, тому що
можуть бути й інші одночасні читачі.

Кожне з цих 3 властивостей застосовується до всього піддерева, включно з файлами, які цього не роблять
ще існують. Більш конкретні шляхи замінюють менш конкретні шляхи. Вказаний шлях може бути an
окремого файлу, навіть якщо файл ще не існує.

Якщо властивість налаштовано й скинуто на одному шляху, то з’явиться параметр
крайній праворуч у командному рядку має пріоритет.

Пісочниці та цінності Прискорення
Якщо ви хочете, щоб makepp не витрачав час на обробку файлів, про які ви знаєте
актуальні (зокрема, файли, створені за допомогою інструмента збирання, відмінного від makepp),
потім --не будуйте це варіант для вас.

На сьогоднішній день найпоширенішим випадком такої оптимізації є те, що ви знаєте, що все ні
на або нижче початкового каталогу вже оновлено. Про це можна повідомити
makepp за допомогою "--не будуйте /. --добудувати .".

Пісочниці та цінності Одночасно процеси
Однією з технік, яка може зменшити затримку збірки, є робота кількох процесів makepp
на тому самому дереві. Керувати цим набагато складніше, ніж використовувати -j варіант
але він також може бути значно ефективнішим, оскільки:

· За допомогою пісочниці процеси можуть виконуватися на кількох хостах, наприклад, через завдання
система черги. Збільшення -j limit зрештою вичерпує ресурси ЦП a
один хост і навіть може сповільнити збірку через надмірне роздвоєння процесу.

· -j наразі не паралельно виконує деякі трудомісткі завдання makepp, такі як завантаження
make-файли, сканування, створення неявних залежностей під час сканування та перевірки
залежності.

Найбільший ризик при такому підході полягає в тому, що збірка може стати недетермінованим, якщо
процеси, які можуть бути одночасними, взаємодіють один з одним. Це призводить до створення систем
які спорадично дають неправильні результати і не мають простого механізму, щоб визначити, чому
це трапляється.

Щоб подолати цей ризик, доцільно розділити дерево між одночасними процесами
таким чином, якщо будь-який процес звертається до файлової системи неналежним чином, то виникає помилка
детерміновано піднято негайно. Зазвичай це досягається шляхом призначення кожному
одночасний процес "пісочниці", в яку дозволено писати, де пісочниці немає
два паралельні процеси можуть перетинатися.

Крім того, кожен процес позначає пісочниці будь-яких інших, можливо, паралельних процесів
як «не читати». Якщо процес читає файл, то відповідальний інший паралельний процес
для запису (і який, отже, може ще не бути написаний), виникає помилка
негайно.

Пісочниці та цінності Послідовний процеси
Коли збірка розділена для одночасних процесів makepp, зазвичай також є a
послідовний зв'язок між різними парами процесів. Наприклад, може бути a
десяток одночасних процесів компіляції, за якими слідує один процес посилання, який не може початися
доки не будуть завершені всі процеси компіляції. Такі послідовні відносини повинні бути
запроваджено будь-яким механізмом, який організовує різні процеси makepp (наприклад,
система черги робіт).

Коли процеси мають відоме послідовне відношення, зазвичай немає потреби піднімати a
помилка, коли вони звертаються до тієї ж частини дерева, тому що результат все одно є
детермінований.

Однак, як правило, вигідно вказати --не будуйте варіанти залежним
процес (процес посилань у нашому прикладі), який сповіщає його про області, які вже зробили
було оновлено необхідними процесами (завданнями компіляції в нашому прикладі). У цьому
Таким чином, ми уникаємо більшості непотрібної роботи зі створення нульових цілей, які були справедливими
оновлено.

Використовуйте makepp_sandboxes онлайн за допомогою служб onworks.net


Безкоштовні сервери та робочі станції

Завантажте програми для Windows і Linux

Команди Linux

Ad