|  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> Java Programming >> Content

    Vad är ett datorbundet program?

    Ett COMPUTE-bundet program är ett program vars exekveringstid främst bestäms av mängden beräkning som det utför, snarare än av mängden I/O (input/output) -operationer det behöver göra. Med andra ord, det tillbringar det mesta av sin tid på att krossa siffror, utföra beräkningar eller andra CPU-intensiva uppgifter och relativt lite tid på att vänta på att data ska läsas från eller skrivas till disk, nätverk eller andra externa resurser.

    Här är en uppdelning:

    * beräkningstung: Kärnan i programmet involverar komplexa matematiska operationer, simuleringar, databehandling eller andra beräkningsmässigt krävande algoritmer. Tänk på saker som:

    * Vetenskapliga simuleringar (väderprognos, molekylär dynamik)

    * Maskininlärningsmodellutbildning

    * Kryptografiska operationer

    * Bild-/videobearbetning (särskilt högupplöst)

    * Dataanalys som involverar stora datasätt

    * I/O-begränsad (kontrast): Däremot spenderar ett I/O-bundet program större delen av sin tid på att vänta på att I/O-operationer ska slutföras. Exempel inkluderar:

    * Webbservrar (väntar på förfrågningar)

    * Databasapplikationer (väntar på disk läser/skriver)

    * Program som starkt förlitar sig på nätverkskommunikation

    Nyckelegenskaper för datorbundna program:

    * Hög CPU -användning: Under exekveringen kommer CPU att vara nära 100% som används.

    * långsam exekvering: Även med kraftfull hårdvara kommer programmet att ta en betydande tid att slutföra på grund av beräkningarnas inneboende komplexitet.

    * Förbättrad med snabbare processorer: Exekveringstiden kan minskas avsevärt genom att använda en CPU med högre klockhastighet, fler kärnor eller bättre vektoriseringsfunktioner. Att lägga till mer RAM kan också hjälpa om programmets arbetsuppsättning överstiger tillgängligt minne.

    * Mindre påverkad av snabbare I/O: Uppgradering till snabbare lagrings- eller nätverkshårdvara kommer att ha en relativt liten inverkan på den totala exekveringstiden.

    Att identifiera om ett program är datorbundet eller I/O-bundet är viktigt för prestationsoptimering. För datorbundna program bör fokus vara på att optimera algoritmer, använda parallella bearbetningstekniker och potentiellt använda specialiserad hårdvara som GPU:er. För I/O-bundna program skulle fokus ändras till att optimera databasfrågor, använda snabbare lagring och förbättra nätverkskommunikation.

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur man gör en Exit-knappen för Android
    ·Tillåter NetBeans enskilda steg
    ·Vad är handling Form i Struts
    ·Hur man kompilerar JNI i Ubuntu
    ·Hur man gör en grundläggande timer i Java
    ·Hur man dödar en tråd i Java
    ·Hur man använder ABS i Java
    ·Hur man skapar en Java Heap Dump
    ·Hur man skriver till fil Java Applet
    ·Hur Monitor Connection Pool i Sun Java 7 JVM Alternativ…
    Utvalda artiklarna
    ·Hur man tolka XML i Ruby on Rails
    ·Hur du använder ActiveX -komponenter i ASP
    ·Hur man gör en DLL samtal i LabVIEW
    ·Hur du överför en videofil med PHP
    ·Återställa LNK filer
    ·Hur man upptäcker CJK i Java
    ·Hur man använder Fibonacci Rekursion funktion
    ·Konvertera RTF till oformaterad text i Visual Basic
    ·Boolean logik Låter dig till vad
    ·Så här visar booleska variabler i C + +
    Copyright © Dator Kunskap https://www.dator.xyz