EnglezăFrancezăSpaniolă

Ad


Favicon OnWorks

makepp_sandboxes - Online în cloud

Rulați makepp_sandboxes în furnizorul de găzduire gratuit OnWorks prin Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

Aceasta este comanda makepp_sandboxes care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

PROGRAM:

NUME


makepp_sandboxes -- Cum să partiționați o construcție makepp

DESCRIERE


D: --do-construiți,
--nu-construiți,
--nu-cititi,
--a-citeste, I: --in-cutie cu nisip,
--în interiorul-cutie cu nisip, O: --din cutie cu nisip, S: --cutie cu nisip,
--sandbox-warn,
--avertisment cutie cu nisip, V: --virtual-sandbox

Există câteva motive pentru care ați putea dori să partiționați arborele de fișiere pentru un makepp
construi:

1. Dacă știți că majoritatea arborelui nu este afectată de modificările aduse
fișierele sursă de la versiunea anterioară, atunci îi puteți spune pe makepp să asume acele fișiere
în acele părți ale arborelui sunt deja actualizate, ceea ce înseamnă nici măcar implicit
încărcându-și fișierele make, darămite calculând și verificându-le dependențele. (Notă
că fișierele make încărcate explicit sunt încă încărcate, totuși.)

2. Dacă aveți mai multe procese makepp care accesează același arbore, atunci doriți să ridicați
o eroare dacă detectați că două procese concurente scriu aceeași parte a
arbore, sau că un proces citește o parte a arborelui care este un proces concurent
scris. În orice caz, aveți o condiție de cursă în care ordinea relativă a evenimentelor
în două procese concurente (care nu pot fi garantate) pot afecta rezultatul.

Makepp are facilități de sandboxing care abordează ambele preocupări.

sandbox Opţiuni
Următoarele opțiuni makepp pot fi utilizate pentru a seta proprietățile sandboxing ale subarborelului
dat de cale și toate fișierele sale și fișierele potențiale:

--nu-construiți cale
--do-construiți cale
Setați sau resetați proprietatea „dont-build”. Se presupune că orice fișier cu această proprietate setată
să fie deja actualizat și nu vor fi efectuate verificări de construcție. Valoarea implicită este resetată
(adică „do-build”), cu excepția cazului în care aveți un „RootMakeppfile”, caz în care totul
în afara id-ului său subarboresc „dont-build”.

--cutie cu nisip cale
--în cutie cu nisip cale
--în interiorul-cutie cu nisip cale
--din cutie cu nisip cale
Setați sau resetați proprietatea „în sandbox”. Este generată o eroare dacă makepp ar face altfel
scrieți un fișier cu această proprietate resetata. Verificările de build sunt încă efectuate, cu excepția cazului în care
Proprietatea „dont-build” este de asemenea setată. Valoarea implicită este setată (adică „în sandbox”), cu excepția cazului în care
există --cutie cu nisip opțiuni, caz în care implicit pentru toate celelalte fișiere este
resetare (adică „out-of-sandbox”).

--sandbox-warn
--sandbox-warning
Reduceți încălcările „în sandbox” și „nu citiți” la avertismente în loc de erori.
Acest lucru este util atunci când există sute de încălcări, astfel încât să puteți colecta toate
le într-o singură rulare și luați măsurile corective adecvate. Altfel, vezi doar
o încălcare per invocare makepp și nu știi câte au mai rămas până la
sunt toate reparate.

--nu-cititi cale
--a-citeste cale
Setați sau resetați proprietatea „nu citiți”. Este generată o eroare dacă makepp ar face altfel
citiți un fișier cu această proprietate setată. Valoarea implicită este resetată (adică „do-read”).

--virtual-sandbox
Nu rescrieți informațiile de compilare ale fișierelor care nu au fost create de acest proces makepp. Acest
este util atunci când rulați procese makepp concurente cu nisipuri suprapuse și dvs
sunt siguri că două procese nu vor încerca să construiască aceeași țintă. Makepp va
apoi abțineți-vă de la stocarea în cache a informațiilor suplimentare despre fișierele pe care le citește, deoarece
ar putea exista și alți cititori concurenți.

Fiecare dintre aceste 3 proprietăți se aplică întregului subarboresc, inclusiv fișierelor care nu
încă există. Căile mai specifice înlocuiesc căile mai puțin specifice. O cale specificată poate fi un
fișier individual, chiar dacă fișierul nu există încă.

Dacă o proprietate este setată și resetată exact pe aceeași cale, atunci opțiunea care apare
cel mai din dreapta pe linia de comandă are prioritate.

sandbox pentru Acceleraţie
Dacă doriți să împiedicați makepp să piardă timpul procesând fișiere despre care știți că sunt deja
actualizat (în special, fișierele care sunt generate de un instrument de compilare, altul decât makepp),
apoi --nu-construiți este opțiunea pentru tine.

De departe, cel mai frecvent caz pentru o astfel de optimizare este că știi că totul nu
la sau sub directorul de pornire este deja actualizat. Acest lucru poate fi comunicat
makepp folosind "--nu-construiți /. --do-construiți .".

sandbox pentru concomitent procese
O tehnică care poate reduce latența construcției este să funcționeze mai multe procese makepp
pe același copac. Acest lucru este un pic mai dificil de gestionat decât utilizarea -j opțiune,
dar poate fi și mult mai eficient deoarece:

· Cu sandboxing, procesele pot rula pe mai multe gazde, de exemplu, printr-un job
sistem de coadă. Creșterea -j limit epuizează în cele din urmă resursele CPU ale unui
o singură gazdă și poate chiar încetini construcția din cauza bifurcării excesive a procesului.

· -j nu paralelizează în prezent unele dintre sarcinile consumatoare de timp ale makepp, cum ar fi încărcarea
makefiles, scanare, construirea de dependențe implicite în timpul scanării și verificarea
dependențe.

Cel mai mare risc al acestei abordări este că construcția poate deveni nedeterministă dacă
procesele care pot fi concomitente interacționează între ele. Acest lucru duce la construirea de sisteme
care produc rezultate incorecte sporadic și fără un mecanism simplu pentru a determina de ce
s-a întâmplat.

Pentru a aborda acest risc, este recomandabil să împărțiți arborele între procese concurente
astfel încât, dacă orice proces accesează sistemul de fișiere incorect, atunci este o eroare
ridicată determinist imediat. În mod normal, acest lucru se realizează prin atribuirea fiecăruia
procesează concomitent un „sandbox” în care este permis să scrie, unde sandbox-urile nr
două procese concurente se pot suprapune.

În plus, fiecare proces marchează sandbox-urile oricăror alte procese posibil concomitente
ca „nu-citiți”. Dacă un proces citește un fișier, un alt proces concurent este responsabil
pentru scriere (și care, prin urmare, s-ar putea să nu fie încă scris), atunci apare o eroare
imediat.

sandbox pentru secvențială procese
Când build-ul este partiționat pentru procese makepp concurente, există, de obicei, și a
relație secvențială între diverse perechi de procese. De exemplu, poate exista o
duzină de procese de compilare concurente, urmate de un singur proces de legătură care nu poate începe
până la finalizarea tuturor proceselor de compilare. Astfel de relații secvențiale trebuie să fie
impus de orice mecanism care orchestrează diferitele procese makepp (de exemplu,
sistemul de așteptare a locurilor de muncă).

Când procesele au o relație secvenţială cunoscută, în mod normal nu este nevoie să se ridice un
eroare atunci când accesează aceeași parte a arborelui, deoarece rezultatul este totuși
determinat.

Cu toate acestea, este, în general, benefic să precizăm --nu-construiți opțiuni pentru dependent
proces (procesul de legătură în exemplul nostru) care îl notifică cu privire la zonele care au deja
au fost actualizate de procesele de precondiții (lucrările de compilare din exemplul nostru). In acest
evităm cea mai mare parte a muncii inutile ale țintelor care nu au fost create drepte
la curent.

Utilizați makepp_sandboxes online folosind serviciile onworks.net


Servere și stații de lucru gratuite

Descărcați aplicații Windows și Linux

  • 1
    Console
    Console
    Brackets este un open-source modern și gratuit
    editor de text realizat special pentru Web
    Dezvoltare. Scris în HTML, CSS și
    JavaScript cu instrumente vizuale concentrate și
    pregătire...
    Descărcați paranteze
  • 2
    Compilator Pascal gratuit
    Compilator Pascal gratuit
    Un compilator Pascal pe 32/64/16 biți pentru
    Win32/64/CE, Linux, Mac OS X/iOS,
    Android, FreeBSD, OS/2, Game Boy
    Advance, Nintendo NDS și DOS;
    compatibil semantic cu...
    Descărcați gratuit Pascal Compiler
  • 3
    Informații Canon EOS DIGITAL
    Informații Canon EOS DIGITAL
    Canon nu are număr de obturatori
    incluse în informațiile EXIF ​​ale unui
    fișier imagine, spre deosebire de Nikon și
    Pentax. Nu există nicio bază oficială Canon
    aplicație ...
    Descărcați informațiile Canon EOS DIGITAL
  • 4
    REFIND
    REFIND
    rEFInd este o furcă a cizmei rEFIt
    administrator. La fel ca REFIt, REFInd poate
    detectează automat boot-ul EFI instalat
    încărcătoare și prezintă o interfață grafică destul de bună
    meniul opțiunii de boot...
    Descărcați REFInd
  • 5
    ExpressLuke GSI
    ExpressLuke GSI
    Această pagină de descărcare SourceForge trebuia să
    permite utilizatorilor să descarce sursa mea construită
    GSI, bazate pe phhusson's great
    muncă. Am construit atât Android Pie, cât și
    Android 1...
    Descărcați ExpressLuke GSI
  • 6
    Music Caster
    Music Caster
    Music Caster este un music player
    care vă permite să proiectați muzica locală la a
    Dispozitiv Google Cast. La prima alergare,
    va trebui să faceți clic pe săgeata din dvs
    tas...
    Descărcați Music Caster
  • Mai mult »

Comenzi Linux

Ad