9,577 research outputs found

    Quasi-Exactly Solvable Schr\"odinger Operators in Three Dimensions

    Get PDF
    The main contribution of our paper is to give a partial classification of the quasi-exactly solvable Lie algebras of first order differential operators in three variables, and to show how this can be applied to the construction of new quasi-exactly solvable Schr\"odinger operators in three dimensions.Comment: Published in SIGMA (Symmetry, Integrability and Geometry: Methods and Applications) at http://www.emis.de/journals/SIGMA

    Participating in the Conversation

    Get PDF

    Simple and Effective Type Check Removal through Lazy Basic Block Versioning

    Get PDF
    Dynamically typed programming languages such as JavaScript and Python defer type checking to run time. In order to maximize performance, dynamic language VM implementations must attempt to eliminate redundant dynamic type checks. However, type inference analyses are often costly and involve tradeoffs between compilation time and resulting precision. This has lead to the creation of increasingly complex multi-tiered VM architectures. This paper introduces lazy basic block versioning, a simple JIT compilation technique which effectively removes redundant type checks from critical code paths. This novel approach lazily generates type-specialized versions of basic blocks on-the-fly while propagating context-dependent type information. This does not require the use of costly program analyses, is not restricted by the precision limitations of traditional type analyses and avoids the implementation complexity of speculative optimization techniques. We have implemented intraprocedural lazy basic block versioning in a JavaScript JIT compiler. This approach is compared with a classical flow-based type analysis. Lazy basic block versioning performs as well or better on all benchmarks. On average, 71% of type tests are eliminated, yielding speedups of up to 50%. We also show that our implementation generates more efficient machine code than TraceMonkey, a tracing JIT compiler for JavaScript, on several benchmarks. The combination of implementation simplicity, low algorithmic complexity and good run time performance makes basic block versioning attractive for baseline JIT compilers

    Interprocedural Type Specialization of JavaScript Programs Without Type Analysis

    Get PDF
    Dynamically typed programming languages such as Python and JavaScript defer type checking to run time. VM implementations can improve performance by eliminating redundant dynamic type checks. However, type inference analyses are often costly and involve tradeoffs between compilation time and resulting precision. This has lead to the creation of increasingly complex multi-tiered VM architectures. Lazy basic block versioning is a simple JIT compilation technique which effectively removes redundant type checks from critical code paths. This novel approach lazily generates type-specialized versions of basic blocks on-the-fly while propagating context-dependent type information. This approach does not require the use of costly program analyses, is not restricted by the precision limitations of traditional type analyses. This paper extends lazy basic block versioning to propagate type information interprocedurally, across function call boundaries. Our implementation in a JavaScript JIT compiler shows that across 26 benchmarks, interprocedural basic block versioning eliminates more type tag tests on average than what is achievable with static type analysis without resorting to code transformations. On average, 94.3% of type tag tests are eliminated, yielding speedups of up to 56%. We also show that our implementation is able to outperform Truffle/JS on several benchmarks, both in terms of execution time and compilation time.Comment: 10 pages, 10 figures, submitted to CGO 201

    Analysis of a Re-Focused Agricultural Policy within a Farm-Household Framework Some Data Requirements

    Get PDF
    Agricultural and Food Policy, Consumer/Household Economics,

    Innovation and Competition in Canadian Equity Markets

    Get PDF
    Innovations in communications and information technology and the related globalization of financial markets have created the potential for important changes to the structure of Canadian equity markets. Established marketplaces can now compete more effectively on an inter-regional and international basis. At the same time, reduced costs have lowered the barriers to entry faced by new competitors known as alternative trading systems (ATSs). In response to this heightened competition, established Canadian stock exchanges have taken measures to improve market quality. While regulators see innovation as positive for the development of Canadian markets, there is some concern that market liquidity may be fragmented in the short run. The Canadian Securities Administrators have proposed a framework that attempts to address this issue and that would allow ATSs to compete with traditional exchanges for the first time. The authors provide an overview of the Canadian equity market and its structure, focusing on these recent developments.
    corecore