Optimisation de codeEn programmation informatique, l'optimisation de code est la pratique consistant à améliorer l'efficacité du code informatique d'un programme ou d'une bibliothèque logicielle. Ces améliorations permettent généralement au programme résultant de s'exécuter plus rapidement, de prendre moins de place en mémoire, de limiter sa consommation de ressources (par exemple les fichiers), ou de consommer moins d'énergie électrique. 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.
Filter (higher-order function)In functional programming, filter is a higher-order function that processes a data structure (usually a list) in some order to produce a new data structure containing exactly those elements of the original data structure for which a given predicate returns the boolean value true. In Haskell, the code example filter even [1..10] evaluates to the list 2, 4, ..., 10 by applying the predicate even to every element of the list of integers 1, 2, ...
Optimizing compilerIn computing, an optimizing compiler is a compiler that tries to minimize or maximize some attributes of an executable computer program. Common requirements are to minimize a program's execution time, memory footprint, storage size, and power consumption (the last three being popular for portable computers). Compiler optimization is generally implemented using a sequence of optimizing transformations, algorithms which take a program and transform it to produce a semantically equivalent output program that uses fewer resources or executes faster.
Méthode (informatique)En programmation orientée objet (POO), une méthode est une routine membre d'une classe. Une méthode peut être: une méthode d'instance, n'agissant que sur un seul objet (instance de la classe) à la fois; une méthode statique ou méthode de classe, indépendante de toute instance de la classe (objet). En programmation orientée objet, on utilise parfois le terme spécifique d'invocation de méthode pour désigner l'appel d'une telle fonction d'une classe.
Sous-programmeEn informatique, un sous-programme est un sous-ensemble du programme dans sa hiérarchie fonctionnelle. Un sous-programme doit pouvoir mémoriser l'adresse du code appelant pour permettre, à l'aide d'une instruction spécifique, de charger le pointeur de programme avec cette adresse de retour. Cela correspond bien souvent à une routine. Cependant, la notion de sous-programme est un peu plus générale, car il ne possède pas nécessairement son propre espace de noms. C'est le cas par exemple des sous-programmes appelés par l'instruction en BASIC.
Object code optimizerAn object code optimizer, sometimes also known as a post pass optimizer or, for small sections of code, peephole optimizer, forms part of a software compiler. It takes the output from the source language compile step - the object code or - and tries to replace identifiable sections of the code with replacement code that is more algorithmically efficient (usually improved speed). The earliest "COBOL Optimizer" was developed by Capex Corporation in the mid 1970s for COBOL.
Héritage multipleEn informatique, l’héritage multiple est un mécanisme de programmation orientée objet dans lequel une classe peut hériter de comportements et de fonctionnalités de plus d'une super-classe. Il s'oppose à l'héritage simple, dans lequel une classe ne peut hériter que d'une seule super-classe. Il est supporté par certains langages de programmation, par exemple C++, Eiffel ou Python. Pouvant poser des problèmes, d’autres langages comme Ada, C#, Fortran, Java, Objective-C, Ruby, Swift ou Visual Basic ont préféré ne pas le proposer directement.
Peephole optimizationPeephole optimization is an optimization technique performed on a small set of compiler-generated instructions; the small set is known as the peephole or window. Peephole optimization involves changing the small set of instructions to an equivalent set that has better performance.
Interprocedural optimizationInterprocedural optimization (IPO) is a collection of compiler techniques used in computer programming to improve performance in programs containing many frequently used functions of small or medium length. IPO differs from other compiler optimizations by analyzing the entire program as opposed to a single function or block of code. IPO seeks to reduce or eliminate duplicate calculations and inefficient use of memory and to simplify iterative sequences such as loops.
Fonction trigonométriquethumb|upright=1.35|Toutes les valeurs des fonctions trigonométriques d'un angle θ peuvent être représentées géométriquement. En mathématiques, les fonctions trigonométriques permettent de relier les longueurs des côtés d'un triangle en fonction de la mesure des angles aux sommets. Plus généralement, ces fonctions sont importantes pour étudier les triangles et les polygones, les cercles (on les appelle alors fonctions circulaires) et modéliser des phénomènes périodiques.
Fonction elliptique de JacobiEn mathématiques, les fonctions elliptiques de Jacobi sont des fonctions elliptiques d'une grande importance historique. Introduites par Carl Gustav Jakob Jacobi vers 1830, elles ont des applications directes, par exemple dans l'équation du pendule. Elles présentent aussi des analogies avec les fonctions trigonométriques, qui sont mises en valeur par le choix des notations sn et cn, qui rappellent sin et cos. Si les fonctions elliptiques thêta de Weierstrass semblent mieux adaptées aux considérations théoriques, les problèmes physiques pratiques font plus appel aux fonctions de Jacobi.
Optimisation de boucleIn compiler theory, loop optimization is the process of increasing execution speed and reducing the overheads associated with loops. It plays an important role in improving cache performance and making effective use of parallel processing capabilities. Most execution time of a scientific program is spent on loops; as such, many compiler optimization techniques have been developed to make them faster. Since instructions inside loops can be executed repeatedly, it is frequently not possible to give a bound on the number of instruction executions that will be impacted by a loop optimization.
History of PythonPython (programming language) The programming language Python was conceived in the late 1980s, and its implementation was started in December 1989 by Guido van Rossum at CWI in the Netherlands as a successor to ABC capable of exception handling and interfacing with the Amoeba operating system. Van Rossum is Python's principal author, and his continuing central role in deciding the direction of Python is reflected in the title given to him by the Python community, Benevolent Dictator for Life (BDFL).
Fonction thêtaEn mathématiques, on appelle fonctions thêta certaines fonctions spéciales d'une ou de plusieurs variables complexes. Elles apparaissent dans plusieurs domaines, comme l'étude des variétés abéliennes, des espaces de modules, et les formes quadratiques. Elles ont aussi des applications à la théorie des solitons. Leurs généralisations en algèbre extérieure apparaissent dans la théorie quantique des champs, plus précisément dans la théorie des cordes et des D-branes.
Fonction lemniscatiqueEn mathématiques, les fonctions lemniscatiques sont des fonctions elliptiques liées à la longueur d'arc d'une lemniscate de Bernoulli ; ces fonctions ont beaucoup d'analogies avec les fonctions trigonométriques. Elles ont été étudiées par Giulio Fagnano en 1718 ; leur analyse approfondie, et en particulier la détermination de leurs périodes, a été obtenue par Carl Friedrich Gauss en 1796. Ces fonctions ont un réseau de périodes carré, et sont étroitement reliées à la fonction elliptique de Weierstrass dont les invariants sont g2 = 1 et g3 = 0.
Fonction hyperboliqueEn mathématiques, on appelle fonctions hyperboliques les fonctions cosinus hyperbolique, sinus hyperbolique et tangente hyperbolique. Les noms « sinus », « cosinus » et « tangente » proviennent de leur ressemblance avec les fonctions trigonométriques (dites « circulaires » car en relation avec le cercle unité x + y = 1) et le terme « hyperbolique » provient de leur relation avec l'hyperbole d'équation x – y = 1. Elles sont utilisées en analyse pour le calcul intégral, la résolution des équations différentielles mais aussi en géométrie hyperbolique.
Parité d'une fonctionEn mathématiques, la parité d'une fonction d'une variable réelle, complexe ou vectorielle est une propriété qui requiert d'abord la symétrie du domaine de définition par rapport à l'origine, puis s'exprime par l'une ou l'autre des relations suivantes : fonction paire : pour tout x du domaine de définition, f (−x) = f (x) ; fonction impaire : pour tout x du domaine de définition, f (−x) = −f (x).
Python syntax and semanticsThe syntax of the Python programming language is the set of rules that defines how a Python program will be written and interpreted (by both the runtime system and by human readers). The Python language has many similarities to Perl, C, and Java. However, there are some definite differences between the languages. It supports multiple programming paradigms, including structured, object-oriented programming, and functional programming, and boasts a dynamic type system and automatic memory management.
Paramètres SLes paramètres S (de l'anglais Scattering parameters), coefficients de diffraction ou de répartition sont utilisés en hyperfréquences, en électricité ou en électronique pour décrire le comportement électrique de réseaux électriques linéaires en fonction des signaux d'entrée. Ces paramètres font partie d'une famille de formalismes similaires, utilisés en électronique, en physique ou en optique : les paramètres Y, les paramètres Z, les paramètres H, les paramètres T ou les paramètres ABCD.
Impedance parametersImpedance parameters or Z-parameters (the elements of an impedance matrix or Z-matrix) are properties used in electrical engineering, electronic engineering, and communication systems engineering to describe the electrical behavior of linear electrical networks. They are also used to describe the small-signal (linearized) response of non-linear networks. They are members of a family of similar parameters used in electronic engineering, other examples being: S-parameters, Y-parameters, H-parameters, T-parameters or ABCD-parameters.