190 research outputs found

    Tracing vs. Partial Evaluation: Comparing Meta-Compilation Approaches for Self-Optimizing Interpreters

    Get PDF
    Tracing and partial evaluation have been proposed as meta-compilation techniques for interpreters to make just-in-time compilation language-independent. They promise that programs executing on simple interpreters can reach performance of the same order of magnitude as if they would be executed on state-of-the-art virtual machines with highly optimizing just-in-time compilers built for a specific language. Tracing and partial evaluation approach this meta-compilation from two ends of a spectrum, resulting in different sets of tradeoffs. This study investigates both approaches in the context of self-optimizing interpreters, a technique for building fast abstract-syntax-tree interpreters. Based on RPython for tracing and Truffle for partial evaluation, we assess the two approaches by comparing the impact of various optimizations on the performance of an interpreter for SOM, an object-oriented dynamically-typed language. The goal is to determine whether either approach yields clear performance or engineering benefits. We find that tracing and partial evaluation both reach roughly the same level of performance. SOM based on meta-tracing is on average 3x slower than Java, while SOM based on partial evaluation is on average 2.3x slower than Java. With respect to the engineering, tracing has however significant benefits, because it requires language implementers to apply fewer optimizations to reach the same level of performance

    Exploring societal solidarity in the context of extreme prematurity

    Get PDF
    QUESTION: Extreme prematurity can result in long-term disabilities. Its impact on society is often not taken into account and deemed controversial. Our study examined attitudes of the Swiss population regarding extreme prematurity and people’s perspectives regarding the question of solidarity with disabled people. METHODS: We conducted a nationwide representative anonymous telephone survey with 1210 Swiss residents aged 18 years or older. We asked how people estimate their own personal solidarity, the solidarity of their social environment and the solidarity across the country with disabled persons. Spearman’s correlation calculations were used to assess if a correlation exists between solidarity and setting financial limits to intensive care and between solidarity and withholding neonatal intensive care. RESULTS: According to 36.0% of the respondents intensive medical care should not be withheld from extremely preterm infants, even if their chances for an acceptable quality of life were poor. For 28.8%, intensive care should be withheld from these infants, and 26.9% held an intermediate position depending on the situation. A total of 31.5% were against setting a financial limit to treatment of extremely preterm newborns with an uncertain future quality of life, 34.2% were in favour and 26.9% were deliberating. A majority (88.8%) considered their solidarity toward disabled people as substantial; the solidarity of their personal environment and of the society at large was estimated as high by 79.1% and 48.6%, respectively. CONCLUSIONS: The Swiss population expressed a high level of solidarity which may alleviate some pressure on parents and health care providers in the decision-making process in neonatal intensive care units. In addition, there was no relationship between solidarity and people’s willingness to pay for the care or withholding treatment of extremely preterm babies

    Zero-Overhead Metaprogramming: Reflection and Metaobject Protocols Fast and without Compromises

    Get PDF
    Runtime metaprogramming enables many useful applications and is often a convenient solution to solve problems in a generic way, which makes it widely used in frameworks, middleware, and domain-specific languages. However, powerful metaobject protocols are rarely supported and even common concepts such as reflective method invocation or dynamic proxies are not optimized. Solutions proposed in literature either restrict the metaprogramming capabilities or require application or library developers to apply performance improving techniques. For overhead-free runtime metaprogramming, we demonstrate that dispatch chains, a generalized form of polymorphic inline caches common to self-optimizing interpreters, are a simple optimization at the language-implementation level. Our evaluation with self-optimizing interpreters shows that unrestricted metaobject protocols can be realized for the first time without runtime overhead, and that this optimization is applicable for just-in-time compilation of interpreters based on meta-tracing as well as partial evaluation. In this context, we also demonstrate that optimizing common reflective operations can lead to significant performance improvements for existing applications

    JavaScript AOT compilation

    Get PDF
    International audienceStatic compilation, a.k.a., ahead-of-time (AOT) compilation, is an alternative approach to JIT compilation that can combine good speed and lightweight memory footprint, and that can accommodate read-only memory constraints that are imposed by some devices and some operating systems. Unfortunately the highly dynamic nature of JavaScript makes it hard to compile statically and all existing AOT compilers have either gave up on good performance or full language support. We have designed and implemented an AOT compiler that aims at satisfying both. It supports full unrestricted ECMAScript 5.1 plus many ECMAScript 2017 features and the majority of benchmarks are within 50% of the performance of one of the fastest JIT compilers

    Sindarin: A Versatile Scripting API for the Pharo Debugger

    Get PDF
    International audienceDebugging is one of the most important and time consuming activities in software maintenance, yet mainstream debuggers are not well-adapted to several debugging scenarios. This has led to the research of new techniques covering specific families of complex bugs. Notably, recent research proposes to empower developers with scripting DSLs, plugin-based and moldable debuggers. However, these solutions are tailored to specific use-cases, or too costly for one-time-use scenarios. In this paper we argue that exposing a debugging scripting interface in mainstream debuggers helps in solving many challenging debugging scenarios. For this purpose, we present Sindarin, a scripting API that eases the expression and automation of different strategies developers pursue during their debugging sessions. Sindarin provides a GDB-like API, augmented with AST-bytecode-source code mappings and object-centric capabilities. To demonstrate the versatility of Sindarin, we reproduce several advanced breakpoints and non-trivial debugging mechanisms from the literature

    Test of the Kolmogorov-Johnson-Mehl-Avrami picture of metastable decay in a model with microscopic dynamics

    Full text link
    The Kolmogorov-Johnson-Mehl-Avrami (KJMA) theory for the time evolution of the order parameter in systems undergoing first-order phase transformations has been extended by Sekimoto to the level of two-point correlation functions. Here, this extended KJMA theory is applied to a kinetic Ising lattice-gas model, in which the elementary kinetic processes act on microscopic length and time scales. The theoretical framework is used to analyze data from extensive Monte Carlo simulations. The theory is inherently a mesoscopic continuum picture, and in principle it requires a large separation between the microscopic scales and the mesoscopic scales characteristic of the evolving two-phase structure. Nevertheless, we find excellent quantitative agreement with the simulations in a large parameter regime, extending remarkably far towards strong fields (large supersaturations) and correspondingly small nucleation barriers. The original KJMA theory permits direct measurement of the order parameter in the metastable phase, and using the extension to correlation functions one can also perform separate measurements of the nucleation rate and the average velocity of the convoluted interface between the metastable and stable phase regions. The values obtained for all three quantities are verified by other theoretical and computational methods. As these quantities are often difficult to measure directly during a process of phase transformation, data analysis using the extended KJMA theory may provide a useful experimental alternative.Comment: RevTex, 21 pages including 14 ps figures. Submitted to Phys. Rev. B. One misprint corrected in Eq.(C1

    Assigning a function to a conserved archaeal metallo-β-lactamase from Haloferax volcanii

    Get PDF
    The metallo-β-lactamase family of enzymes comprises a large group of proteins with diverse functions in the metabolism of the cell. Among others, this superfamily contains proteins which are involved in DNA and RNA metabolism, acting as nucleases in e.g. repair and maturation. Many proteins have been annotated in prokaryotic genomes as being potential metallo-β-lactamases, but very often the function has not been proven. The protein HVO_2763 from Haloferax volcanii is such a potential metallo-β-lactamase. HVO_2763 has sequence similarity to the metallo-β-lactamase tRNase Z, a tRNA 3′ processing endonuclease. Here, we report the characterisation of this metallo-β-lactamase HVO_2763 in the halophilic archaeon Haloferax volcanii. Using different in vitro assays with the recombinant HVO_2763, we could show that the protein does not have tRNA 3′ processing or exonuclease activity. According to transcriptome analyses of the HVO_2763 deletion strain, expression of proteins involved in membrane transport is downregulated in the mutant. Therefore, HVO_2763 might be involved directly or indirectly in membrane transport

    Difficult tracheal intubation in neonates and infants. NEonate and Children audiT of Anaesthesia pRactice IN Europe (NECTARINE): a prospective European multicentre observational study

    Get PDF
    BACKGROUND: Neonates and infants are susceptible to hypoxaemia in the perioperative period. The aim of this study was to analyse interventions related to anaesthesia tracheal intubations in this European cohort and identify their clinical consequences. METHODS: We performed a secondary analysis of tracheal intubations of the European multicentre observational trial (NEonate and Children audiT of Anaesthesia pRactice IN Europe [NECTARINE]) in neonates and small infants with difficult tracheal intubation. The primary endpoint was the incidence of difficult intubation and the related complications. The secondary endpoints were the risk factors for severe hypoxaemia attributed to difficult airway management, and 30 and 90 day outcomes. RESULTS: Tracheal intubation was planned in 4683 procedures. Difficult tracheal intubation, defined as two failed attempts of direct laryngoscopy, occurred in 266 children (271 procedures) with an incidence (95% confidence interval [CI]) of 5.8% (95% CI, 5.1–6.5). Bradycardia occurred in 8% of the cases with difficult intubation, whereas a significant decrease in oxygen saturation (SpO2<90% for 60 s) was reported in 40%. No associated risk factors could be identified among co-morbidities, surgical, or anaesthesia management. Using propensity scoring to adjust for confounders, difficult anaesthesia tracheal intubation did not lead to an increase in 30 and 90 day morbidity or mortality. CONCLUSIONS: The results of the present study demonstrate a high incidence of difficult tracheal intubation in children less than 60 weeks post-conceptual age commonly resulting in severe hypoxaemia. Reassuringly, the morbidity and mortality at 30 and 90 days was not increased by the occurrence of a difficult intubation event

    Global wealth disparities drive adherence to COVID-safe pathways in head and neck cancer surgery

    Get PDF
    Peer reviewe

    Peri-operative red blood cell transfusion in neonates and infants: NEonate and Children audiT of Anaesthesia pRactice IN Europe: A prospective European multicentre observational study

    Get PDF
    BACKGROUND: Little is known about current clinical practice concerning peri-operative red blood cell transfusion in neonates and small infants. Guidelines suggest transfusions based on haemoglobin thresholds ranging from 8.5 to 12 g dl-1, distinguishing between children from birth to day 7 (week 1), from day 8 to day 14 (week 2) or from day 15 (≥week 3) onwards. OBJECTIVE: To observe peri-operative red blood cell transfusion practice according to guidelines in relation to patient outcome. DESIGN: A multicentre observational study. SETTING: The NEonate-Children sTudy of Anaesthesia pRactice IN Europe (NECTARINE) trial recruited patients up to 60 weeks' postmenstrual age undergoing anaesthesia for surgical or diagnostic procedures from 165 centres in 31 European countries between March 2016 and January 2017. PATIENTS: The data included 5609 patients undergoing 6542 procedures. Inclusion criteria was a peri-operative red blood cell transfusion. MAIN OUTCOME MEASURES: The primary endpoint was the haemoglobin level triggering a transfusion for neonates in week 1, week 2 and week 3. Secondary endpoints were transfusion volumes, 'delta haemoglobin' (preprocedure - transfusion-triggering) and 30-day and 90-day morbidity and mortality. RESULTS: Peri-operative red blood cell transfusions were recorded during 447 procedures (6.9%). The median haemoglobin levels triggering a transfusion were 9.6 [IQR 8.7 to 10.9] g dl-1 for neonates in week 1, 9.6 [7.7 to 10.4] g dl-1 in week 2 and 8.0 [7.3 to 9.0] g dl-1 in week 3. The median transfusion volume was 17.1 [11.1 to 26.4] ml kg-1 with a median delta haemoglobin of 1.8 [0.0 to 3.6] g dl-1. Thirty-day morbidity was 47.8% with an overall mortality of 11.3%. CONCLUSIONS: Results indicate lower transfusion-triggering haemoglobin thresholds in clinical practice than suggested by current guidelines. The high morbidity and mortality of this NECTARINE sub-cohort calls for investigative action and evidence-based guidelines addressing peri-operative red blood cell transfusions strategies. TRIAL REGISTRATION: ClinicalTrials.gov, identifier: NCT02350348
    corecore