Compilación en tiempo de ejecución

En informática, la compilación en tiempo de ejecución (también conocida por sus siglas inglesas, JIT, just-in-time), también conocida como traducción dinámica, es una técnica para mejorar el rendimiento de sistemas de programación que compilan a bytecode, consistente en traducir el bytecode a código máquina nativo en tiempo de ejecución. La compilación en tiempo de ejecución se construye a partir de dos ideas anteriores relacionadas con los entornos de ejecución: la compilación a byde y la compilación dinámica.

En un sistema que use interpretación de bytecode como por ejemplo Smalltalk, Perl, GNU CLISP o las primeras versiones de Java, el código fuente es traducido a un código intermedio llamado bytecode. El bytecode no es el código máquina de ninguna computadora en particular, y puede por tanto ser portable entre diferentes arquitecturas. El bytecode es entonces interpretado, o ejecutado por una máquina virtual.

Un entorno con compilación dinámica es aquel en el que el compilador puede ser usado durante la ejecución. Por ejemplo, la mayoría de los sistemas Commons Lisp tienen una función compile que permite compilar nuevas funciones creadas durante la ejecución del programa. Aunque ventajoso en la depuración interactiva, la compilación dinámica es menos útil en un sistema en explotación desatendido. Ese método es más común en emuladores modernos y frecuentemente comerciales que requieren mucha velocidad, como el Qemu y el VirtualPC (PC) o el Executor (Macintosh 68k).

En un entorno de compilación en tiempo de ejecución, la compilación a bytecode es el primer paso, reduciendo el código fuente a una representación intermedia portable y optimizable. El bytecode se despliega en el sistema de destino. Cuando dicho código se ejecuta, el compilador en tiempo de ejecución lo traduce a código máquina nativo. Esto puede realizarse a nivel de fichero (programa) o de funciones, compilándose en este último caso el código correspondiente a una función justo cuando va a ejecutarse (de aquí el nombre de just-in-time, «justo a tiempo»).

El objetivo es combinar muchas de las ventajas de la compilación a código nativo y a bytecode: la mayoría del «trabajo pesado» de procesar el código fuente original y realizar optimizaciones básicas se realiza en el momento de compilar a bytecode, mucho antes del despliegue: así, la compilación a código máquina del programa resulta mucho más rápida que partiendo del código fuente. El bytecode desplegado es portable, a diferencia del código máquina para cualquier arquitectura concreta. Los compiladores dinámicos son más fáciles de escribir, pues el compilador a bytecode ya realiza buena parte del trabajo. 7

Uso de compilación JIT en emuladores

Al momento de emular la CPU, el programa traduce el código máquina del software[1]​ emulado en código nativo de la máquina emuladora y lo escribe en una caché con permisos de ejecución y escritura (generalmente en UNIX o en sistemas compatibles con POSIX se asigna este permiso con la función mprotect()). La traducción se detiene cuando se encuentra cualquier instrucción que provoque un cambio en el contador de programa, como una interrupción, una instrucción de salto o una llamada a subrutina y es interpretado como un retorno de rutina al compilador o a otras tareas del programa. Luego el emulador ejecuta el código contenido en la caché.

La ventaja de este método es que si el tamaño de la caché es grande, el emulador no necesita recompilar el código, lo que aumenta mucho la velocidad. Sin embargo, surgen problemas cuando el programa emulado escribe su código, y es necesario volver a recompilar dicho código, a menos que el código emulado tenga permisos de solo lectura, por ejemplo, en sistemas UNIX con memoria protegida.

Referencias

  1. ASALE, RAE-. «software | Diccionario de la lengua española». «Diccionario de la lengua española» - Edición del Tricentenario. Consultado el 14 de noviembre de 2022. 

Read other articles:

Armin NavabiNavabi berpidato di Atheist Days 2019 di Warsawa.Lahir25 Desember 1983 (umur 40)Tehran, IranTempat tinggalVancouver, British ColumbiaKebangsaanIran KanadaPekerjaanPenggiat PolitikPenulisJurubicaraPesiniarDikenal atasAktivisme AteisKarya terkenalWhy There Is No God: Simple Responses to 20 Common Arguments for the Existence of GodGerakan politikSekularismeSitus webhttp://www.atheistrepublic.com/ Armin Navabi (lahir 25 Desember 1983) adalah seorang penggiat, penulis dan pesinia...

 

 

Species of bat Abo bat Conservation status Least Concern  (IUCN 3.1)[1] Scientific classification Domain: Eukaryota Kingdom: Animalia Phylum: Chordata Class: Mammalia Order: Chiroptera Family: Vespertilionidae Genus: Glauconycteris Species: G. poensis Binomial name Glauconycteris poensis(Gray, 1842) Synonyms Chalinolobus poensis Gray, 1842 Kerivoula poensis Gray, 1842 The Abo bat (Glauconycteris poensis) is a species of vesper bat in the family Vespertilionidae. It is found ...

 

 

Синелобый амазон Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ВторичноротыеТип:ХордовыеПодтип:ПозвоночныеИнфратип:ЧелюстноротыеНадкласс:ЧетвероногиеКлада:АмниотыКлада:ЗавропсидыКласс:Пт�...

Infantry regiment of the Confederate States Army 6th Arkansas Infantry RegimentRegimental color of the Sixth Arkansas at the Old State House Museum in Little Rock, ArkansasActive1861–1865DisbandedMay 1, 1865Country Confederate StatesAllegiance ArkansasBranch ArmyRoleInfantrySizeRegimentNickname(s)Sixth ArkansasFacingsLight blueBattles American Civil War Battle of Rowlett's Station Battle of Shiloh Siege of Corinth Battle of Perryville Battle of Murfreesboro Battle of Liberty Gap B...

 

 

Genus of dragonflies Anotogaster Anotogaster sieboldii Scientific classification Domain: Eukaryota Kingdom: Animalia Phylum: Arthropoda Class: Insecta Order: Odonata Infraorder: Anisoptera Family: Cordulegastridae Subfamily: Cordulegastrinae Genus: AnotogasterSélys, 1854 Anotogaster is a genus of dragonflies in the family Cordulegastridae. The genus contains the following species:[1] Anotogaster antehumeralis Lohmann, 1993 Anotogaster basalis Selys, 1854 Anotogaster chaoi Zhou, 1998 ...

 

 

Pour les articles homonymes, voir Piave (homonymie). Francesco Maria PiaveFrancesco Maria PiaveBiographieNaissance 18 mai 1810MuranoDécès 5 mars 1876 (à 65 ans)MilanSépulture Cimetière monumental de MilanNationalité italienne (17 mars 1861 - 5 mars 1876)Activités Journaliste, poète, compositeur, auteur-compositeur, dramaturge, écrivain, librettiste, traducteur, metteur en scène de spectacle lyriqueAutres informationsGenre artistique OpéraVue de la sépulture.modifier - modifi...

政治腐敗 概念 反腐敗 賄賂 裙帶關係 腐败经济学(英语:Economics of corruption) 选举操控 精英俘获(英语:Elite capture) 权力寻租 竊盜統治 黑手黨國家 裙帶關係 行贿基金 買賣聖職 各国腐败 亚洲 中国 治貪史 中華人民共和國 朝鲜 菲律宾 欧洲 俄羅斯(英语:Corruption in Russia) 乌克兰 英国 法国 查论编   此条目的内容是1949年中華人民共和國成立以后中国大陆的国家�...

 

 

Федеральное агентство по делам Содружества Независимых Государств, соотечественников, проживающих за рубежом, и по международному гуманитарному сотрудничествусокращённо: Россотрудничество Общая информация Страна  Россия Юрисдикция Россия Дата создания 6 сентября...

 

 

Hecht MuseumDidirikan1984LokasiHaifa, IsraelSitus webHecht Museum Peti mati antropoida dari Zaman Perunggu Muda yang ditemukan di Deir al-Balah Reuben and Edith Hecht Museum atau dikenal sebagai Hecht Museum adalah sebuah museum yang terletak dibealam lingkungan Universitas Haifa,[1] Israel. Sejarah Perahu Ma'agan Michael Hecht Museum didirikan pada tahun 1984 oleh Reuben Hecht,[1] direktur Dagon Silos dan merupakan anggota pendiri University of Haifa Board of Governors. Selam...

رئيس البرلمان الأوروبي (بالإنجليزية: President of the European Parliament)‏، و(بالبلغارية: Председател на Европейския парламент)‏، و(بالدنماركية: Formand for Europa-Parlamentet)‏، و(بالإسبانية: Presidente del Parlamento Europeo)‏، و(بالإيطالية: Presidente del Parlamento europeo)‏، و(بالألمانية: Präsident des Europäischen Parlamentes)‏، و(بالبولن�...

 

 

Prolonged naval conflict between German submarines and the Allied navies during WWI Atlantic U-boat campaign of World War IPart of the U-boat campaign of World War IA German postcard depicting the U-boat SM U-20 sinking RMS LusitaniaDate8 August 1914 – 20 October 1918 (1914-08-08 – 1918-10-20)LocationAtlantic Ocean0°N 25°W / 0°N 25°W / 0; -25Result Allied victoryBelligerents  United Kingdom Canada France...

 

 

For other uses, see Taille (disambiguation). Former land tax on Ancien Régime French peasants This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Taille – news · newspapers · books · scholar · JSTOR (September 2007) (Learn how and when to remove this message) Ancien Régime Structure Estates of the realm Great ...

Romanization scheme for Cantonese Chinese YaleTraditional Chinese耶魯Simplified Chinese耶鲁Cantonese Yaleyèh lóuh TranscriptionsYue: CantoneseYale Romanizationyèh lóuhJyutpingje4 lou5IPA[jɛː˩ lou˩˧] Romanization ofSinitic languages Mandarin Standard Mandarin Hanyu Pinyin EFEO Gwoyeu Romatzyh Spelling conventions Latinxua Sin Wenz Mandarin Phonetic Symbols II Postal romanization Tongyong Pinyin Wade–Giles Yale romanization Lessing-Othmer Legge romanization Simplif...

 

 

Tunisian nationality codeNational Assembly of Tunisia Long title Décret-Loi no. 63-6 du 28 février 1963 portant refonte du Code de la nationalité tunisienne, ratifié par la Loi no. 637 du 22 avril 1963 (modifiée par la loi no. 7112 du 9 mars 1971, la loi no. 75-79 du 14 novembre 1979, la loi no. 84-81 du 30 novembre 1984, la loi no. 2002-4 du 21 janvier 2002, et la loi no. 2010-55 du 1 décembre 2010) Enacted byGovernment of TunisiaStatus: Current legislation Tunisian nationality l...

 

 

أرمني يهودي. تاريخ اليهود في أرمينياالتعداد الكليالتعداد 300–500[1]مناطق الوجود المميزةالبلد أرمينيا اللغات العبرية، الأرمنيةالدين اليهودية، أقلية ملحدة ومسيحيةالمجموعات العرقية المرتبطةفرع من يهود مجموعات ذات علاقة يهود آخرون (أشكناز، سفارديون، مزراحيون)، يهود ألم�...

Carl SaganSagan pada tahun 1980Lahir(1934-11-09)9 November 1934Brooklyn, New York, ASMeninggal20 Desember 1996(1996-12-20) (umur 62)Seattle, Washington, U.S.Tempat tinggalIthaca, New York, U.S.[butuh rujukan]KebangsaanAmerika SerikatAlmamaterUniversitas ChicagoDikenal atasSearch for Extra-Terrestrial Intelligence (SETI)Cosmos: A Personal VoyageVoyager Golden RecordPioneer plaqueContactPenghargaanOersted Medal (1990)NASA Distinguished Public Service Medal (dua kali)Pulitzer Prize...

 

 

汉西·弗利克Hansi Flick 個人信息全名 Hans-Dieter Flick出生日期 (1965-02-24) 1965年2月24日(59歲)出生地點  西德巴登-符腾堡邦海德堡身高 1.77米(5英尺91⁄2英寸)位置 中场俱乐部信息現在所屬 巴塞罗那 (主教練)青年隊1971–1976 米肯洛赫1976–1981 内卡格明德1981–1983 桑德豪森職業俱乐部*年份 球隊 出场 (进球)1983–1985 桑德豪森 69 (8)1985–1990 拜仁慕尼黑 104 (5)1990–1993 科隆...

 

 

Japanese voice actress and singer (born 1990) Haruka Tomatsu戸松 遥Haruka Tomatsu in 2021Born (1990-02-04) February 4, 1990 (age 34)[1]Ichinomiya, Aichi, Japan[1]Occupations Actress voice actress singer Years active2000–presentEmployerMusic Ray'n[2][3]Height165 cm (5 ft 5 in)[1]Children1Musical careerGenres J-Pop Anison Instrument(s)VocalsYears active2008–presentLabelsSony Music Entertainment Japan / Music Ray'n (Japan)Me...

1916 battle during World War I Battle of the ArgeşPart of the Battle of Bucharest of the Romanian Campaign of World War IGerman map of the battleDate1–3 December 1916LocationBucharest, Romania44°16′N 26°3′E / 44.267°N 26.050°E / 44.267; 26.050Result Central Powers victoryBelligerents  Kingdom of Romania Russian Empire  German Empire Kingdom of Bulgaria Ottoman Empire Austria-HungaryCommanders and leaders Constantin Prezan Er...

 

 

Un complesso metallo-carbino o complesso carbinico è un composto organometallico di formula generale LnM≡CR, che contiene formalmente un triplo legame tra il metallo e un atomo di carbonio, e dove il frammento M≡CR ha geometria lineare, dato che il carbonio è ibridato sp.[1] Il legante organico coordinato tramite il triplo legame è detto carbino. Analogamente al caso dei complessi metallo-carbene, anche i complessi metallo-carbino sono classificati in due categorie, i carbini d...