In computer science, program optimization or software optimization is the process of modifying a software system to make some aspect of it work more efficiently or use fewer resources. In general, a computer program may be optimized so that it executes more rapidly, or is capable of operating with less memory storage or other resources, or draw less power.

PropertyValue
dbpedia-owl:abstract
  • In computer science, program optimization or software optimization is the process of modifying a software system to make some aspect of it work more efficiently or use fewer resources. In general, a computer program may be optimized so that it executes more rapidly, or is capable of operating with less memory storage or other resources, or draw less power.
  • في علم الحاسوب، يستخدم مصطلح تحسين البرمجيات (بالإنكليزية Program optimization) لوصف عملية التعديل على نظام برمجي لجعل بعض جوانبة تعمل بشكل أكثر كفاءة أو لجعله يستخدم مصادر أقل. بشكل عام، يمكن أن يحسن البرنامج لجعله يعمل بشكل أسرع أو لجعله قادرا على العمل باستخدام ذاكرة أقل و مصادر أخرى أقل أو لجعله يستغل طاقة أقل.
  • En programmation informatique, l'optimisation est la pratique qui consiste généralement à réduire le temps d'exécution d'une fonction, l'espace occupé par les données et le programme, ou la consommation d'énergie.La règle numéro un de l'optimisation est qu'elle ne doit intervenir qu'une fois que le programme fonctionne et répond aux spécifications fonctionnelles.L'expérience montre qu'appliquer des optimisations de bas niveau du code avant que ces deux conditions ne soient réalisées revient le plus souvent à une perte de temps et s'avère néfaste à la clarté du code et au bon fonctionnement du programme :— Donald Knuth, citant DijkstraCependant cette citation, tronquée, est très souvent mal interprétée. La version complète étant :— Donald KnuthLa citation originale indique très clairement que cette règle ne doit s'appliquer qu'aux optimisations locales, de bas niveau (réécriture en assembleur, déroulage de boucle, etc.) et pas aux optimisations de haut niveau concernant le choix des algorithmes ou l'architecture d'un projet. Au contraire plus le projet grandit et plus ces optimisations de haut niveau seront difficiles et coûteuses (en termes de temps, difficulté et budget), voire impossible, à effectuer.La plupart des compilateurs récents pratiquent de façon automatique un certain nombre d'optimisations qu'il serait fastidieux d'effectuer manuellement et qui rendraient le code source moins lisible.L'optimisation manuelle locale peut s'avérer nécessaire dans des cas très spécifiques, mais les mesures montrent que sur des machines RISC qui possèdent un nombre élevé de registres et où l'efficacité demande le regroupement des instructions identiques pour bénéficier de l'effet pipeline, l'optimiseur d'un compilateur C fournit souvent un code plus efficace que celui qui serait écrit en assembleur par un programmeur expérimenté (ce qui n'était jamais le cas sur les machines CISC). Et de surcroit ce code est bien plus facile à maintenir, car les instructions en C restent dans un ordre lié à la seule intelligibilité du code et non aux spécificités de la machine : dans les optimiseurs actuels, en effet, les ordres machines associés à une instruction ne se trouvent plus nécessairement en position contiguë, pour des raisons d'efficacité d'exécution. Cela rend le code assembleur généré particulièrement indéchiffrable.
  • In informatica, l'ottimizzazione è il processo atto a modificare alcuni aspetti di un sistema per lavorare più efficientemente o per utilizzare meno risorse. Ad esempio, un programma per computer può essere ottimizzato in modo che venga eseguito più velocemente o in modo da richiedere meno memoria o consumare meno batteria. Il sistema può essere un singolo programma, un insieme di computer o un'intera rete come Internet.Anche se la parola "ottimizzazione" condivide la stessa base di "ottimo", è raro che il processo di ottimizzazione produca un sistema ottimo. Il sistema ottimizzato sarà tipicamente ottimo solamente in un senso. Uno può ridurre il tempo di esecuzione di un programma, ma al prezzo di consumare più memoria; oppure un programma può occupare meno memoria ma al prezzo della velocità di esecuzione. Non esiste una soluzione che "metta d'accordo tutti", cosicché il programmatore dovrà sapere quale strada perseguire. In più, il tentativo atto a rendere ottimo una parte del software è di solito più dispendioso rispetto ai benefici che si può ottenere. In questo modo il processo di ottimizzazione può essere saltato prima di trovare una soluzione completamente ottimale. Fortunatamente i più grandi miglioramenti arrivano sempre prima di questo processo.L'ottimizzazione può essere a più livelli. Al livello più alto il progetto può essere ottimizzato per sfruttare al meglio le risorse. L'implementazione può essere fatta mediante algoritmi efficienti e la scrittura di questi algoritmi beneficerà da quella di codice di buona qualità. L'uso di un compilatore con ottimizzatore aiuta a generare un programma eseguibile ottimizzato. Al livello più basso è possibile scrivere codice assembler a mano. Con i compilatori moderni e la crescente complessità dei processori, occorrono grandi abilità a scrivere codice assembler che è migliore di quello del compilatore. L'ottimizzazione di solito viene fatta in casi speciali e il codice può essere più difficile da leggere e può contenere più errori rispetto al codice non ottimizzato.
  • 情報工学における最適化(英: Optimization)は、システムを何らかの観点でより効率的に動作するよう変更することをいう。例えば、プログラムの最適化は、高速化のためだったり、メモリの使用量を削減するためだったり、電力消費を抑えるためだったりする。最適化の対象となるシステムは、1つのプログラムの場合もあるし、複数のコンピュータの場合もあるし、インターネットのようなネットワーク全体の場合もある。"optimization" という単語の語源は "optimal"(最適な、最善な)と同じだが、最適化によって真に最適なシステムとなることは稀である。最適化されたシステムは一般にある面でのみ最適となる。プログラムの実行時間を削減するためにメモリ使用量を増やしてでも実行時間を最適化したり、逆にメモリが少ないシステムで実行時間が長くなることを覚悟してメモリ使用量が少ないアルゴリズムを選んだりする。あらゆる場合に最適な方法や設計は存在しないので、技術者は最も重要と思われる観点での最適化のために妥協点を探る。さらに、ソフトウェアを完全に最適にする(それ以上どうやっても最適化できない状態にする)のに要する労力は、その最適化されたシステムを利用することで得られる利益よりも大きい。従って、最適化の工程は完全な最適解に到達する以前に終了させられるのが普通である。幸いなことに、効果の大きい改善は最適化工程の初期に現れることが多い。最適化は様々なレベルで行われる。最も高いレベルの最適化は設計段階に行われる。設計が最適化されていれば、実装でも効率的なアルゴリズムを利用でき、品質のよいコードになるという利点がある。コンパイラ最適化を使えば、実行ファイルがさらに最適化される。最も低いレベルでは、コンパイラを使わずに人間がアセンブリ言語で最適なコードを書く。コンパイラ最適化の技術の進歩と最近のCPUの複雑さのため、コンパイラよりも最適なコードを人間が書くには大変な技能を要する。そのため、このような最適化を行うプロジェクトは滅多にない。最適化は例外的なケースを考慮しつつ、複雑な妥協点を探ることが多い。従って最適化されたプログラムはプログラマが理解できないほど難解になることも多い。このような最適化されたプログラムはバグを多く含む可能性が高い。
dbpedia-owl:wikiPageExternalLink
dbpedia-owl:wikiPageID
  • 225779 (xsd:integer)
dbpedia-owl:wikiPageRevisionID
  • 605282357 (xsd:integer)
dbpprop:hasPhotoCollection
dcterms:subject
rdf:type
rdfs:comment
  • In computer science, program optimization or software optimization is the process of modifying a software system to make some aspect of it work more efficiently or use fewer resources. In general, a computer program may be optimized so that it executes more rapidly, or is capable of operating with less memory storage or other resources, or draw less power.
  • في علم الحاسوب، يستخدم مصطلح تحسين البرمجيات (بالإنكليزية Program optimization) لوصف عملية التعديل على نظام برمجي لجعل بعض جوانبة تعمل بشكل أكثر كفاءة أو لجعله يستخدم مصادر أقل. بشكل عام، يمكن أن يحسن البرنامج لجعله يعمل بشكل أسرع أو لجعله قادرا على العمل باستخدام ذاكرة أقل و مصادر أخرى أقل أو لجعله يستغل طاقة أقل.
  • 情報工学における最適化(英: Optimization)は、システムを何らかの観点でより効率的に動作するよう変更することをいう。例えば、プログラムの最適化は、高速化のためだったり、メモリの使用量を削減するためだったり、電力消費を抑えるためだったりする。最適化の対象となるシステムは、1つのプログラムの場合もあるし、複数のコンピュータの場合もあるし、インターネットのようなネットワーク全体の場合もある。"optimization" という単語の語源は "optimal"(最適な、最善な)と同じだが、最適化によって真に最適なシステムとなることは稀である。最適化されたシステムは一般にある面でのみ最適となる。プログラムの実行時間を削減するためにメモリ使用量を増やしてでも実行時間を最適化したり、逆にメモリが少ないシステムで実行時間が長くなることを覚悟してメモリ使用量が少ないアルゴリズムを選んだりする。あらゆる場合に最適な方法や設計は存在しないので、技術者は最も重要と思われる観点での最適化のために妥協点を探る。さらに、ソフトウェアを完全に最適にする(それ以上どうやっても最適化できない状態にする)のに要する労力は、その最適化されたシステムを利用することで得られる利益よりも大きい。従って、最適化の工程は完全な最適解に到達する以前に終了させられるのが普通である。幸いなことに、効果の大きい改善は最適化工程の初期に現れることが多い。最適化は様々なレベルで行われる。最も高いレベルの最適化は設計段階に行われる。設計が最適化されていれば、実装でも効率的なアルゴリズムを利用でき、品質のよいコードになるという利点がある。コンパイラ最適化を使えば、実行ファイルがさらに最適化される。最も低いレベルでは、コンパイラを使わずに人間がアセンブリ言語で最適なコードを書く。コンパイラ最適化の技術の進歩と最近のCPUの複雑さのため、コンパイラよりも最適なコードを人間が書くには大変な技能を要する。そのため、このような最適化を行うプロジェクトは滅多にない。最適化は例外的なケースを考慮しつつ、複雑な妥協点を探ることが多い。従って最適化されたプログラムはプログラマが理解できないほど難解になることも多い。このような最適化されたプログラムはバグを多く含む可能性が高い。
  • En programmation informatique, l'optimisation est la pratique qui consiste généralement à réduire le temps d'exécution d'une fonction, l'espace occupé par les données et le programme, ou la consommation d'énergie.La règle numéro un de l'optimisation est qu'elle ne doit intervenir qu'une fois que le programme fonctionne et répond aux spécifications fonctionnelles.L'expérience montre qu'appliquer des optimisations de bas niveau du code avant que ces deux conditions ne soient réalisées revient le plus souvent à une perte de temps et s'avère néfaste à la clarté du code et au bon fonctionnement du programme :— Donald Knuth, citant DijkstraCependant cette citation, tronquée, est très souvent mal interprétée.
  • In informatica, l'ottimizzazione è il processo atto a modificare alcuni aspetti di un sistema per lavorare più efficientemente o per utilizzare meno risorse. Ad esempio, un programma per computer può essere ottimizzato in modo che venga eseguito più velocemente o in modo da richiedere meno memoria o consumare meno batteria.
rdfs:label
  • Program optimization
  • أمثلة البرمجيات
  • Optimisation de code
  • Ottimizzazione (informatica)
  • 最適化 (情報工学)
owl:sameAs
prov:wasDerivedFrom
foaf:isPrimaryTopicOf
is dbpedia-owl:field of
is dbpedia-owl:genre of
is dbpedia-owl:knownFor of
is dbpedia-owl:wikiPageDisambiguates of
is dbpedia-owl:wikiPageRedirects of
is dbpprop:genre of
is dbpprop:knownFor of
is owl:sameAs of
is foaf:primaryTopic of