-
Notifications
You must be signed in to change notification settings - Fork 22.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
35 changed files
with
859 additions
and
95 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
--- | ||
title: Just-In-Time Compilation (JIT) | ||
slug: Glossary/Just_In_Time_Compilation | ||
page-type: glossary-definition | ||
--- | ||
|
||
{{GlossarySidebar}} | ||
|
||
**JIT** (_Just-In-Time Compilation_) is a {{glossary("compile", "compilation")}} process in which code is translated from an intermediate representation or a higher-level language (e.g., {{glossary("JavaScript")}} or Java bytecode) into machine code _at runtime_, rather than prior to execution. This approach combines the benefits of both interpretation and ahead-of-time (AOT) compilation. | ||
|
||
JIT compilers typically continuously analyze the code as it is executed, identifying parts of the code that are executed frequently (hot spots). If the speedup gains outweigh the compilation overhead, then the JIT compilers will compile those parts into machine code. The compiled code is then executed directly by the processor, which can result in significant performance improvements. | ||
|
||
JIT is commonly used in modern {{glossary("browser", "web browsers")}} to optimize the performance of JavaScript code. | ||
|
||
## See also | ||
|
||
- [Just-In-Time Compilation](https://en.wikipedia.org/wiki/Just-in-time_compilation) on Wikipedia | ||
- Related glossary terms: | ||
- {{glossary("compile")}} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
--- | ||
title: "SVGLinearGradientElement: x1 property" | ||
short-title: x1 | ||
slug: Web/API/SVGLinearGradientElement/x1 | ||
page-type: web-api-instance-property | ||
browser-compat: api.SVGLinearGradientElement.x1 | ||
--- | ||
|
||
{{APIRef("SVG")}} | ||
|
||
The **`x1`** read-only property of the {{domxref("SVGLinearGradientElement")}} interface describes the x-axis coordinate of the start point of the gradient as an {{domxref("SVGAnimatedLength")}}. It reflects the computed value of the {{SVGAttr("x1")}} attribute on the {{SVGElement("linearGradient")}} element. | ||
|
||
The attribute value is a [`<length>`](/en-US/docs/Web/SVG/Content_type#length), [`<percentage>`](/en-US/docs/Web/SVG/Content_type#percentage), or [`<number>`](/en-US/docs/Web/SVG/Content_type#number). The numeric value of the {{domxref("SVGAnimatedLength.baseVal")}} is the x-coordinate of the gradient's starting point in the user coordinate system. | ||
|
||
## Value | ||
|
||
An {{domxref("SVGAnimatedLength")}}. | ||
|
||
## Example | ||
|
||
Given the following SVG: | ||
|
||
```html | ||
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg"> | ||
<defs> | ||
<linearGradient id="gradient1" x1="50%" y1="0%" x2="50%" y2="100%"> | ||
<stop offset="0%" stop-color="blue" /> | ||
<stop offset="100%" stop-color="white" /> | ||
</linearGradient> | ||
<linearGradient id="gradient2" x1="25%" y1="0%" x2="75%" y2="100%"> | ||
<stop offset="0%" stop-color="red" /> | ||
<stop offset="100%" stop-color="yellow" /> | ||
</linearGradient> | ||
</defs> | ||
<rect x="0" y="0" width="200" height="100" fill="url(#gradient1)" /> | ||
<rect x="0" y="100" width="200" height="100" fill="url(#gradient2)" /> | ||
</svg> | ||
``` | ||
|
||
We can access the computed values of the `x1` attributes: | ||
|
||
```js | ||
const linearGradients = document.querySelectorAll("linearGradient"); | ||
const x1Gradient1 = linearGradients[0].x1; | ||
const x1Gradient2 = linearGradients[1].x1; | ||
|
||
console.dir(x1Gradient1.baseVal.value); // output: 100 (50% of 200) | ||
console.dir(x1Gradient2.baseVal.value); // output: 50 (25% of 200) | ||
``` | ||
|
||
## Specifications | ||
|
||
{{Specifications}} | ||
|
||
## Browser compatibility | ||
|
||
{{Compat}} | ||
|
||
## See also | ||
|
||
- {{domxref("SVGLinearGradientElement.x2")}} | ||
- {{domxref("SVGAnimatedLength.baseVal")}} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
--- | ||
title: "SVGLinearGradientElement: x2 property" | ||
short-title: x2 | ||
slug: Web/API/SVGLinearGradientElement/x2 | ||
page-type: web-api-instance-property | ||
browser-compat: api.SVGLinearGradientElement.x2 | ||
--- | ||
|
||
{{APIRef("SVG")}} | ||
|
||
The **`x2`** read-only property of the {{domxref("SVGLinearGradientElement")}} interface describes the x-axis coordinate of the start point of the gradient as an {{domxref("SVGAnimatedLength")}}. It reflects the computed value of the {{SVGAttr("x2")}} attribute on the {{SVGElement("linearGradient")}} element. | ||
|
||
The attribute value is a [`<length>`](/en-US/docs/Web/SVG/Content_type#length), [`<percentage>`](/en-US/docs/Web/SVG/Content_type#percentage), or [`<number>`](/en-US/docs/Web/SVG/Content_type#number). The numeric value of the {{domxref("SVGAnimatedLength.baseVal")}} is the x-coordinate of the gradient's end point in the user coordinate system. | ||
|
||
## Value | ||
|
||
An {{domxref("SVGAnimatedLength")}}. | ||
|
||
## Example | ||
|
||
Given the following SVG: | ||
|
||
```html | ||
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg"> | ||
<defs> | ||
<linearGradient id="gradient1" x1="50%" y1="0%" x2="50%" y2="100%"> | ||
<stop offset="0%" stop-color="blue" /> | ||
<stop offset="100%" stop-color="white" /> | ||
</linearGradient> | ||
<linearGradient id="gradient2" x1="25%" y1="0%" x2="75%" y2="100%"> | ||
<stop offset="0%" stop-color="red" /> | ||
<stop offset="100%" stop-color="yellow" /> | ||
</linearGradient> | ||
</defs> | ||
<rect x="0" y="0" width="200" height="100" fill="url(#gradient1)" /> | ||
<rect x="0" y="100" width="200" height="100" fill="url(#gradient2)" /> | ||
</svg> | ||
``` | ||
|
||
We can access the computed values of the `x2` attributes: | ||
|
||
```js | ||
const linearGradients = document.querySelectorAll("linearGradient"); | ||
const x2Gradient1 = linearGradients[0].x2; | ||
const x2Gradient2 = linearGradients[1].x2; | ||
|
||
console.dir(x2Gradient1.baseVal.value); // output: 100 (50% of 200) | ||
console.dir(x2Gradient2.baseVal.value); // output: 150 (75% of 200) | ||
``` | ||
|
||
## Specifications | ||
|
||
{{Specifications}} | ||
|
||
## Browser compatibility | ||
|
||
{{Compat}} | ||
|
||
## See also | ||
|
||
- {{domxref("SVGLinearGradientElement.x1")}} | ||
- {{domxref("SVGAnimatedLength.baseVal")}} |
Oops, something went wrong.