646 research outputs found

    Microbenchmarks in Java and C#

    Get PDF
    Abstract: Sometimes one wants to measure the speed of software, for instance, to measure whether a new way to solve a problem is faster than the old one. Making such time measurements and microbenchmarks requires considerable care, especially on managed platforms like the Java Virtual Machine and Microsoft’s Common Language Infrastructure (.NET), or else the results may be arbitrary and misleading. Here we give some advice on running microbenchmarks, in particular for managed platforms. Most examples are in Java but the advice applies to any language executed on a managed platform, including Scala, C # and F#. We consider primarily single-threaded non-concurrent applications. 1 The challenge of managed platforms Measuring the execution time of a piece of software is an experimental activity, involving the software and a computer system, itself consisting of much (systems) software and some hardware. Whereas biological experiments, such as measuring bacterial growth, are influenced by natural variation and many unknown circumstances, software performance measurements may seem straightforward: in principle, everything is man-made and under the experimenter’s control. In practice, software performance measurements are influenced by so many factors, and modern computer systems are growing so complex, that software experiments increasingly resemble biological experiments

    Static Partitioning of Spreadsheets for Parallel Execution

    Get PDF

    Quad Ropes: Immutable, Declarative Arrays with Parallelizable Operations

    Get PDF
    We describe the quad rope data structure, a representation of immutable two-dimensional arrays that avoids many of the performance pitfalls of plain C-style two-dimensional arrays. Our motivation is that, for end-user development in high-level declarative programming languages, it is impractical to let users choose between different array-like data structures. Instead, one should use the same, somewhat performance-robust, representation for every programming task. Quad ropes roughly retain array efficiency, as long as programmers express their programs using high-level constructs. Moreover, they allow for fast concatenation and dynamic task-based parallelism and are well suited to represent sparse arrays. We describe their operational semantics and evaluate the performance of individual functions on quad ropes as well as declarative algorithms that use our quad rope implementation

    Early Nordic compilers and autocodes

    Get PDF
    Abstract. The early development of compilers for high-level program-ming languages, and of so-called autocoding systems, is well documented at the international level but not as regards the Nordic countries. The goal of this paper is to provide a survey of compiler and autocode development in the Nordic countries in the early years, roughly 1953 to 1965, and to relate it to international developments. We also touch on some of the historical societal context

    Rewriting High-Level Spreadsheet Structures into Higher-Order Functional Programs

    Get PDF
    Spreadsheets are used heavily in industry and academia. Often, spreadsheet models are developed for years and their complexity grows vastly beyond what the paradigm was originally conceived for. Such complexity often comes at the cost of recalculation performance. However, spreadsheet models usually have some high-level structure that can be used to improve performance by performing independent computation in parallel. In this paper, we devise rules for rewriting high-level spreadsheet structure in the form of so-called cell arrays into higher-order functional programs that can be easily parallelized on multicore processors. We implement our rule set for the experimental Funcalc spreadsheet engine which already implements parallelizable higher-order array functions as well as user-defined higher-order functions. Benchmarks show that our rewriting approach improves recalculation performance for spreadsheets that are dominated by cell arrays

    Online partial evaluation of sheet-defined functions

    Get PDF
    We present a spreadsheet implementation, extended with sheet-defined functions, that allows users to define functions using only standard spreadsheet concepts such as cells, formulas and references, requiring no new syntax. This implements an idea proposed by Peyton-Jones and others. As the main contribution of this paper, we then show how to add an online partial evaluator for such sheet-defined functions. The result is a higher-order functional language that is dynamically typed, in keeping with spreadsheet traditions, and an interactive platform for function definition and function specialization. We describe an implementation of these ideas, present some performance data from microbenchmarks, and outline desirable improvements and extensions.Comment: In Proceedings Festschrift for Dave Schmidt, arXiv:1309.455

    Engineering Hybrid Epitaxial InAsSb/Al Nanowire Materials for Stronger Topological Protection

    Get PDF
    The combination of strong spin-orbit coupling, large gg-factors, and the coupling to a superconductor can be used to create a topologically protected state in a semiconductor nanowire. Here we report on growth and characterization of hybrid epitaxial InAsSb/Al nanowires, with varying composition and crystal structure. We find the strongest spin-orbit interaction at intermediate compositions in zincblende InAs1x_{1-x}Sbx_{x} nanowires, exceeding that of both InAs and InSb materials, confirming recent theoretical studies \cite{winkler2016topological}. We show that the epitaxial InAsSb/Al interfaces allows for a hard induced superconducting gap and 2ee transport in Coulomb charging experiments, similar to experiments on InAs/Al and InSb/Al materials, and find measurements consistent with topological phase transitions at low magnetic fields due to large effective gg-factors. Finally we present a method to grow pure wurtzite InAsSb nanowires which are predicted to exhibit even stronger spin-orbit coupling than the zincblende structure.Comment: 10 pages and 5 figure

    Field effect enhancement in buffered quantum nanowire networks

    Get PDF
    III-V semiconductor nanowires have shown great potential in various quantum transport experiments. However, realizing a scalable high-quality nanowire-based platform that could lead to quantum information applications has been challenging. Here, we study the potential of selective area growth by molecular beam epitaxy of InAs nanowire networks grown on GaAs-based buffer layers. The buffered geometry allows for substantial elastic strain relaxation and a strong enhancement of field effect mobility. We show that the networks possess strong spin-orbit interaction and long phase coherence lengths with a temperature dependence indicating ballistic transport. With these findings, and the compatibility of the growth method with hybrid epitaxy, we conclude that the material platform fulfills the requirements for a wide range of quantum experiments and applications
    corecore