Accelerating Performance for Server-Side Java* Applications 2

Total Page:16

File Type:pdf, Size:1020Kb

Accelerating Performance for Server-Side Java* Applications 2 White paper Intel® Xeon Processor-based servers Intel® Xeon Phi™ Processor-based servers Server-side Oracle Java* applications A ccelerating performance for server-side Java* applications Intel® contributes significantly to both software and hardware optimizations for Java*. These optimizations can deliver performance advantages for Java applications that run using the optimized Java Virtual Machine (JVM), and which are powered by Intel® Xeon® processors and Intel® Xeon Phi™ processors. Developers do not need to recompile to get the benefit of these optimizations. The capabilities are already integrated into the latest Intel® processors and the latest Java Development Kit (JDK) release. EXECUTIVE SUMMARY Most people think that Intel develops and optimizes only hardware. In reality, Intel also invests heavily in software development to optimize software stacks for the latest, advanced servers. This effort is both in-house and in collaboration with runtime software communities and other application communities. Intel’s collaborations help developers benefit from powerful new capabilities designed into Intel® processor-based platforms. It also makes it easier for you to take advantage of both hardware and software optimizations, and maximize the performance of your applications. These software contributions help reduce the burden typically required to shift legacy applications to more powerful, advanced platforms. Since 2006, these team efforts have delivered a performance improvement of more than 110x for Java* applications that run on servers powered by Intel® Xeon® processors.1,2 This paper describes: Key architectural advancements that benefit Java applications which run on the latest Intel Xeon processors and Intel® Xeon Phi™ processors. Some of Intel’s software contributions in team efforts with Oracle* and the OpenJDK* community. The collaboration work includes enabling platform capabilities, improving performance, optimizing microarchitecture for Java applications, improved libraries, and tuning Java virtual machines (JVMs) for specific Java JVM frameworks and applications, such as Apache Hadoop* and Apache Spark*. How both hardware and software optimizations can benefit your Java applications. Techniques and strategies you can use to take advantage of these features. It is important to note that you do not have to recompile your Java application to see these new benefits. By running your applications on the latest Intel processor-based platform with the latest Java release, your application can automatically gain the maximum benefit from both hardware and software optimizations. Accelerating performance for server-side Java* applications 2 INTEL® AND ORACLE*: open source OpenJDK community BUILDING A BETTER JAVA* and Oracle JVM engineers. This effort FOUNDATION is focused on identifying and providing Intel®, Oracle*, and the Java* specific optimizations that take community collaborate to Oracle Java* is one of the most deployed advantage of the latest Intel® optimize the Java software stack software platforms today. According to Architecture (IA) enhancements. Oracle, it is now used in over three billion Because of Intel’s ongoing collaboration To maximize Java performance, devices. Today, Java powers a massive with the Java community, organizations software engineers from both Intel® array of usages from cloud, Big Data, can realize significant performance gains and the Java* community work enterprise, and financial services using the latest Java release running on closely to optimize Java. applications, to games and personal servers powered by the latest Intel productivity software. As Intel releases new platform processors. features, Intel and Oracle* When Java first began to impact the collaborate to identify specific areas market, Intel immediately began New Intel® processors deliver where the JVM can take advantage collaborating with key Java virtual advanced capabilities for Java of Intel’s cutting-edge architecture. machine (JVM) industry vendors on optimizations. The intention was to Most developers know that, with each Intel and the Java community then optimize JVM performance on Intel new generation of processors, Intel work together to identify and processor-based servers, so that Java delivers powerful new technologies for implement optimizations for these applications would see maximum new, advanced platforms. What you might platform capabilities. performance. Since 2006, these team not yet know is that Intel has been This helps the JVM deliver the efforts have delivered a performance designing optimizations for Java highest performance possible improvement of more than 110x for Java applications directly into the silicon. across a broad range of applications that run on servers powered by Intel® Xeon® processors.1,2 As with Intel’s work in enhancing the applications, including enterprise, JVM, these hardware optimizations are Web, cloud, and Big Data Over the course of 20 years, this history developed in collaboration with Oracle applications. of software collaboration includes: and the OpenJDK community. The work supports and enables new capabilities BEA JRockit* JVM. Intel began work that include: better memory and I/O with BEA in 2002, and continued this performance, larger on-die cache, non- collaboration after Oracle acquired inclusive cache, non-uniform memory BEA in 2008. access, cluster nodes, and many other Sun Microsystems Hotspot* JVM. high performance capabilities. Intel began work with Sun For server-side Java developers, two new Microsystems in 2007, and continued Intel® processor families are particularly this team effort after Oracle acquired important: Sun in 2009. Intel® Xeon® Scalable processor Oracle. Intel signed an Oracle family Contributor Agreement in 2014, and began contributing to OpenJDK* in Intel® Xeon Phi™ processor family 2015. Intel® Xeon® Scalable processor Oracle Hotspot* and Oracle JRockit*. Intel has continued a close The new Intel Xeon Scalable processor collaboration with Oracle on the provides the foundation for a powerful combined Hotspot and JRockit teams. data center platform. This feature-rich processor family is highly versatile, and OpenJDK and JVM. Since 2015, Intel creates an evolutionary leap in both agility software engineers have worked not and scalability for data centers. It is a new just with Oracle, but directly with the level of performance for platform convergence and capabilities across Accelerating performance for server-side Java* applications 3 compute, storage, memory, network, and Java release. For example, Intel, Oracle, security applications. Enterprises and and the Java community collaborated to cloud and communications service develop many new JDK 9 enhancements. providers can now drive forward with their These include: extended just-in-time (JIT) “Intel® and Oracle® have most ambitious digital initiatives and see auto-vectorization, optimized the performance needed to deliver the java.lang.Math methods to improve HPC, been partnering closely with services they want to offer. accelerated encryption, and other the OpenJDK* community to demanding applications. deliver the highest Intel® Xeon Phi™ processor In addition, Intel has worked closely with performance with a lower Oracle and OpenJDK to optimize Java for The Intel Xeon Phi processor is a footprint and scalable heap for bootable host processor that delivers today’s demanding applications and massive parallelism and vectorization. It frameworks: the upcoming JDK 9 on the is designed to support the most Big Data applications. For Big Data, latest Intel platforms as the demanding high performance Intel collaborated with the Java computing (HPC) applications. The Intel Intel(r) Xeon(r) Platinum 8100 community to optimize the JVM for Xeon Phi processor integrates several analytics, predictive modeling, processor. JDK 9 overall Intel “firsts:” genomic research, and other Big Data optimizations will significantly applications. This teamwork includes First processor that delivers the enhance Big Data, Cloud, performance of an accelerator with the optimizations for Apache Hadoop, benefits of a standard host CPU Apache Spark, Apache HBase,* and Microservices, HPC and FSI Apache Cassandra.* First processor to integrate high applications with enhanced Machine learning frameworks. Intel bandwidth memory and fabric vectorization support, AVX- technology is also working with the Java community to optimize the JVM for 512 code generation and The Intel Xeon Phi delivers the machine learning frameworks. These intrinsic methods, optimized demanding performance needed for frameworks include Apache SparkML* highly parallel workloads, high and Apache H20*. math libraries, cryptography, performance modeling and simulation, checksum, compression visualization, and data analytics. The new JVM 9 optimizations can make it easier for you to port and develop acceleration and compact applications that take advantage of new strings." Intel and Oracle continue to hardware capabilities and the enhance the Java software stack performance they can deliver. — Bernard Traversat Intel’s collaborations with the Java community to optimize the Java software No need to recompile Vice President of stack includes support and enabling of It is important to note that you do not Development many aspects of application development. have to recompile your Java application For example, Intel’s collaborations include Java SE Platform to see the benefits of the hardware and work to enable platform capabilities in the
Recommended publications
  • Advanced Programming for the Java(TM) 2 Platform
    Advanced Programming for the Java(TM) 2 Platform Training Index Advanced Programming for the JavaTM 2 Platform By Calvin Austin and Monica Pawlan November 1999 [CONTENTS] [NEXT>>] [DOWNLOAD] Requires login As an experienced developer on the JavaTM platform, you undoubtedly know how fast moving and comprehensive the Early Access platform is. Its many application programming interfaces (APIs) Downloads provide a wealth of functionality for all aspects of application and system-level programming. Real-world developers never use one Bug Database or two APIs to solve a problem, but bring together key Submit a Bug functionality spanning a number of APIs. Knowing which APIs you View Database need, which parts of which APIs you need, and how the APIs work together to create the best solution can be a daunting task. Newsletters Back Issues To help you navigate the Java APIs and fast-track your project Subscribe development time, this book includes the design, development, test, and deployment phases for an enterprise-worthy auction Learning Centers application. While the example application does not cover every Articles possible programming scenario, it explores many common Bookshelf situations and the discussions leave you with a solid methodology Code Samples for designing and building your own solutions. New to Java Question of the Week This book is for developers with more than a beginning level of Quizzes understanding of writing programs in the Java programming Tech Tips language. The example application is written with the Java® 2 Tutorials platform APIs and explained in terms of functional hows and whys, so if you need help installing the Java platform, setting up your Forums environment, or getting your first application to work, you should first read a more introductory book such as Essentials of the Java Programming Language: A Hands-On Guide or The Java Tutorial.
    [Show full text]
  • Real-Time Java for Embedded Devices: the Javamen Project*
    REAL-TIME JAVA FOR EMBEDDED DEVICES: THE JAVAMEN PROJECT* A. Borg, N. Audsley, A. Wellings The University of York, UK ABSTRACT: Hardware Java-specific processors have been shown to provide the performance benefits over their software counterparts that make Java a feasible environment for executing even the most computationally expensive systems. In most cases, the core of these processors is a simple stack machine on which stack operations and logic and arithmetic operations are carried out. More complex bytecodes are implemented either in microcode through a sequence of stack and memory operations or in Java and therefore through a set of bytecodes. This paper investigates the Figure 1: Three alternatives for executing Java code (take from (6)) state-of-the-art in Java processors and identifies two areas of improvement for specialising these processors timeliness as a key issue. The language therefore fails to for real-time applications. This is achieved through a allow more advanced temporal requirements of threads combination of the implementation of real-time Java to be expressed and virtual machine implementations components in hardware and by using application- may behave unpredictably in this context. For example, specific characteristics expressed at the Java level to whereas a basic thread priority can be specified, it is not drive a co-design strategy. An implementation of these required to be observed by a virtual machine and there propositions will provide a flexible Ravenscar- is no guarantee that the highest priority thread will compliant virtual machine that provides better preempt lower priority threads. In order to address this performance while still guaranteeing real-time shortcoming, two competing specifications have been requirements.
    [Show full text]
  • Zing:® the Best JVM for the Enterprise
    PRODUCT DATA SHEET Zing:® ZING The best JVM for the enterprise Zing Runtime for Java A JVM that is compatible and compliant The Performance Standard for Low Latency, with the Java SE specification. Zing is a Memory-Intensive or Interactive Applications better alternative to your existing JVM. INTRODUCING ZING Zing Vision (ZVision) Today Java is ubiquitous across the enterprise. Flexible and powerful, Java is the ideal choice A zero-overhead, always-on production- for development teams worldwide. time monitoring tool designed to support rapid troubleshooting of applications using Zing. Zing builds upon Java’s advantages by delivering a robust, highly scalable Java Virtual Machine ReadyNow! Technology (JVM) to match the needs of today’s real time enterprise. Zing is the best JVM choice for all Solves Java warm-up problems, gives Java workloads, including low-latency financial systems, SaaS or Cloud-based deployments, developers fine-grained control over Web-based eCommerce applications, insurance portals, multi-user gaming platforms, Big Data, compilation and allows DevOps to save and other use cases -- anywhere predictable Java performance is essential. and reuse accumulated optimizations. Zing enables developers to make effective use of memory -- without the stalls, glitches and jitter that have been part of Java’s heritage, and solves JVM “warm-up” problems that can degrade ZING ADVANTAGES performance at start up. With improved memory-handling and a more stable, consistent runtime Takes advantage of the large memory platform, Java developers can build and deploy richer applications incorporating real-time data and multiple CPU cores available in processing and analytics, driving new revenue and supporting new business innovations.
    [Show full text]
  • AMCHAM Compendium
    U.S. Companies: Partners in India’s Inclusive Growth American companies have been operating in India since 1902. Following India’s economic reforms, FDI from U.S. companies has exceeded 50 billion dollars. U.S. companies have actively engaged in India’s inclusive growth story and have created gainful engagement for more than 5 million people. Collectively, they are at the forefront of innovation and ground-breaking research and development across sectors, actively engaged with the MSME sector, committed to social upliftment, rural outreach, skill development, education, women’s empowerment, as well as, health and sanitation, across the country. This compendium offers a glimpse of the initiatives taken by AMCHAM members to contribute in India’s inclusive growth. Jacobs Engineering India | 121 Table of Contents John Deere India Pvt. Ltd. | 124 Johnson & Johnson India | 127 Abbott Healthcare | 4 Johnson Controls India | 130 Acclaris Business Solutions | 7 Kemin Industries South Asia | 132 Amazon India | 10 KPMG in India | 135 American International School Chennai | 13 Lockheed Martin India | 138 American Megatrends India Private Limited | 16 Manhattan Associates India | 141 Amritt India Associates | 18 Modine India | 143 Amway India | 20 Monsanto India | 146 Avery Dennison India | 23 Mosaic India | 149 Bard India Healthcare | 26 Novus Animal Nutrition India | 151 Bausch & Lomb India | 28 Owens Corning India | 153 BD India | 31 P&G India | 156 Blackboard Technology India Pvt. Ltd. | 34 PepsiCo India | 159 Boeing India | 37 PNB Metlife India
    [Show full text]
  • M3A78-Manual.Pdf
    M3A78 Motherboard E4181 Second Edition V2 August 2008 Copyright © 2008 ASUSTeK COMPUTER INC. All Rights Reserved. No part of this manual, including the products and software described in it, may be reproduced, transmitted, transcribed, stored in a retrieval system, or translated into any language in any form or by any means, except documentation kept by the purchaser for backup purposes, without the express written permission of ASUSTeK COMPUTER INC. (“ASUS”). Product warranty or service will not be extended if: (1) the product is repaired, modified or altered, unless such repair, modification of alteration is authorized in writing by ASUS; or (2) the serial number of the product is defaced or missing. ASUS PROVIDES THIS MANUAL “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OR CONDITIONS OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL ASUS, ITS DIRECTORS, OFFICERS, EMPLOYEES OR AGENTS BE LIABLE FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES (INCLUDING DAMAGES FOR LOSS OF PROFITS, LOSS OF BUSINESS, LOSS OF USE OR DATA, INTERRUPTION OF BUSINESS AND THE LIKE), EVEN IF ASUS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES ARISING FROM ANY DEFECT OR ERROR IN THIS MANUAL OR PRODUCT. SPECIFICATIONS AND INFORMATION CONTAINED IN THIS MANUAL ARE FURNISHED FOR INFORMATIONAL USE ONLY, AND ARE SUBJECT TO CHANGE AT ANY TIME WITHOUT NOTICE, AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY ASUS. ASUS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR ANY ERRORS OR INACCURACIES THAT MAY APPEAR IN THIS MANUAL, INCLUDING THE PRODUCTS AND SOFTWARE DESCRIBED IN IT.
    [Show full text]
  • Practical-Electronic
    EVERYDAY DECEMBER 1997 ELECTRON http://www.epemag.wimborne.co.uk £2.65 pa; cinE, GIANT PULL•OUT , • • «Mr am, - DettgeR:)t tam 4"- ACTIVE , •• MICROPHONE • A simple circuit to increase sensitivity P. rs .• • • - - MINI - •• - • L. tr. ORGAN 1:7 \ An unusual, inexpensive •P 7 " • e design t Ort 9. SA 11 '7 • SOUND rtr1 1 Alarm deterrent for P1R securit hts TEACH-IN 98 ........ Part 2: Capacitors and Inductors Index for Volume 26 THE Noil MAGAZINE FO. ELL TECHNOLOGY- r ra spedal ALTERNATIVE _.•ii 9 770262 361089 Feat and FUTURE TECHNOLOGIES ELECTRIC MAN PLANS, SHOCK PEOPLE WITH THE TOUCH OF YOUR HAND! E5/set Ref F/EMA1 PARABOLIC DISH MICROPHONE PLANS Listen to distant sounds and voices open windows sound sources in 'hard to ger or hostile premises Uses Satellite technology to gather distant sounds and focus them to our ultra sensitive electronics Plans also Sn0,11 xn optional wireless link system £8/set ref F/PM5 2 FOR 1 MULTIFUNCTIONAL HIGH FREQUENCY AND HIGH DC VOLTAGE, SOLID STATE TESLA COIL A AND VARIABLE 100,000 VDC OUTPUT GENERATOR PLANS Operates on 9-12v0c, many possible experiments £10 Ref WIND GENERATORS 380 WATT 1 14 metre rta cades aaroon riatri cades .a year warranty vdc output 24v version available control electronics included brushless neodymium cubic curve alternator only two moving pans maintenance free simple roof top installation start up speed 7mph max output (30mph) 380w £499 ref AIR1 PLANS PORTABLE X RAY MACHINE PLANS Easy to construct e e- plans on a simple and cheap way to build a home X-ray rnachinei Effective device X-ray sealed assemblies can beused for experimental purposes Not a toy or for minors' £6,/set Ref F/XP I TELEKINETIC ENHÀNCER PLANS Mystrfy and amaze your COLOUR CCTV friends by creating motion with no known apparent means or cause Uses no electnca Ior mechanical connections no special gimmicks yet produces positive motion and effect Excellent for science projects.
    [Show full text]
  • Powerkap - a Tool for Improving Energy Transparency for Software Developers on GNU/Linux (X86) Platforms
    Project Report Department of Computing Imperial College of Science, Technology and Medicine PowerKap - A tool for Improving Energy Transparency for Software Developers on GNU/Linux (x86) platforms Author: Supervisor: Krish De Souza Dr. Anandha Gopalan Submitted in partial fulfilment of the requirements for the M.Eng Computing 4 of Imperial College London Contents 1 Introduction 6 1.1 Motivation . .6 1.2 Objectives . .7 1.3 Achievements . .7 2 Background 9 2.1 The relationship between power and energy. .9 2.2 Power controls on x86 platforms . .9 2.3 Improving software for power efficiency . 10 2.3.1 Algorithm . 10 2.3.2 Multithreading . 10 2.3.3 Vectorisation . 10 2.3.4 Improper sleep loops . 12 2.3.5 OS Timers . 13 2.3.6 Context aware programming . 13 2.4 Current methods of monitoring energy. 14 2.4.1 Out of Band Energy Monitor . 14 2.4.2 In-Band Energy Monitor . 14 2.4.2.1 Powertop . 15 2.4.2.2 Turbostat . 16 2.5 Related Work . 16 2.5.1 ENTRA 2012-2015 . 16 2.5.1.1 Common Assertion Language . 16 2.5.1.2 Compiler Optimisation and Power Trade-offs . 18 2.5.1.3 Superoptimization . 18 2.5.1.4 Thermal trade-off . 20 2.5.2 eProf . 20 2.5.2.1 Asynchronous vs Synchronous . 20 2.5.2.2 Profiling implementation . 21 2.5.3 Energy Formal Definitions . 21 2.5.3.1 Java Based Energy Formalism . 22 2.5.3.2 Energy Application Model . 22 2.5.4 Impact of language, Compiler, Optimisations .
    [Show full text]
  • Partial List Ex Conference 20
    Artemis Health Institute Bharat Serums & Vaccines Carrier CP Milk & Food Products Discovery FCDO GlaxoSmithkline Henkel India Shelter Finance Corporation Kadtech Infraprojects LSEG MIND NIIT Paytm Money PT Bank BTPN RTI Shyam Spectra Stryker ThoughtWorks ValueMined Technologies Y-Axis Solutions Arth Group Bharti Axa Life Insurance Cars24 CP Plus Dksh FE fundinfo Glenmark Pharmaceuticals Herbalife Nutition IndiaMART Kaivalya Educatiion Foundation LTI MindTickle Nineleaps technology solutions PayU PT. Media Indra Buana Ruby Seven Studios Shyam Spectra STT Global Data Centres Thryve Digital Valuex Technologies Yamaha Motor Arvind Fashions Bhel Caterpillar CP Wholesale DLF Fedex GlobalEdge Here Technologies Indigo Kalpataru Luminous Power Technologies Mindtree Nippon Koei PCCPL PTC Network Rustomjee Sidel Successive Technologies Tierra Agrotech Varroc Engineering Yanbal Asahi India Glass BIC CDK Global CPI DMD ADVOCATES Ferns n Petals GlobalLogic Herman Miller Indmoney Kama Ayurveda Luthra Group MiQ Digital NISA Global PCS Publicis Media S P Setia Siemens Sulzer Pumps Tifc Varuna Group Yanmar TAKE A LOOK AT LIST OF Ashirvad Pipes Bidgely Technologies CEAT Creditas Solutions DP World Ferrero GMR Hero Indofil industries Kanishk Hospital Luxury Personified Mizuho Bank Nissan Peak Infrastructure Management PUMA Group S&P Global Sigma AVIT Infra Services Summit Digitel Infrastructure TIL Vastu Housing Finance Corpora- Yara COMPANIES WHO WILL JOIN Asian paints Bigtree Entertainment Celio Cremica Dr Reddy's Ferring Pharmaceuticals Godrej & Boyce
    [Show full text]
  • Java Performance Mysteries
    ITM Web of Conferences 7 09015 , (2016) DOI: 10.1051/itmconf/20160709015 ITA 2016 Java Performance Mysteries Pranita Maldikar, San-Hong Li and Kingsum Chow [email protected], {sanhong.lsh, kingsum.kc}@alibaba-inc.com Abstract. While assessing software performance quality in the cloud, we noticed some significant performance variation of several Java applications. At a first glance, they looked like mysteries. To isolate the variation due to cloud, system and software configurations, we designed a set of experiments and collected set of software performance data. We analyzed the data to identify the sources of Java performance variation. Our experience in measuring Java performance may help attendees in selecting the trade-offs in software configurations and load testing tool configurations to obtain the software quality measurements they need. The contributions of this paper are (1) Observing Java performance mysteries in the cloud, (2) Identifying the sources of performance mysteries, and (3) Obtaining optimal and reproducible performance data. 1 Introduction into multiple tiers like, client tier, middle-tier and data tier. For testing a Java EE workload theclient tier would Java is both a programming language and a platform. be a load generator machine using load generator Java as a programming language follows object-oriented software like Faban [2]. This client tier will consist of programming model and it requires Java Virtual users that will send the request to the application server Machine (Java Interpreter) to run Java programs. Java as or the middle tier.The middle tier contains the entire a platform is an environment on which we can deploy business logic for the enterprise application.
    [Show full text]
  • Performance Comparison of Java and C++ When Sorting Integers and Writing/Reading Files
    Bachelor of Science in Computer Science February 2019 Performance comparison of Java and C++ when sorting integers and writing/reading files. Suraj Sharma Faculty of Computing, Blekinge Institute of Technology, 371 79 Karlskrona, Sweden This thesis is submitted to the Faculty of Computing at Blekinge Institute of Technology in partial fulfilment of the requirements for the degree of Bachelor of Science in Computer Sciences. The thesis is equivalent to 20 weeks of full-time studies. The authors declare that they are the sole authors of this thesis and that they have not used any sources other than those listed in the bibliography and identified as references. They further declare that they have not submitted this thesis at any other institution to obtain a degree. Contact Information: Author(s): Suraj Sharma E-mail: [email protected] University advisor: Dr. Prashant Goswami Department of Creative Technologies Faculty of Computing Internet : www.bth.se Blekinge Institute of Technology Phone : +46 455 38 50 00 SE-371 79 Karlskrona, Sweden Fax : +46 455 38 50 57 ii ABSTRACT This study is conducted to show the strengths and weaknesses of C++ and Java in three areas that are used often in programming; loading, sorting and saving data. Performance and scalability are large factors in software development and choosing the right programming language is often a long process. It is important to conduct these types of direct comparison studies to properly identify strengths and weaknesses of programming languages. Two applications were created, one using C++ and one using Java. Apart from a few syntax and necessary differences, both are as close to being identical as possible.
    [Show full text]
  • Installing Python, Pygame, and Visual Studio Code
    Set up Python and Visual Studio Code: Macs Installing Python, Pygame, and Visual Studio Code To provide more flexibility, capability, and better tools for editing and debugging your code we are going to set up our computers with software for developing Python applications, Python games, and Web sites. Python 3 Installation (includes IDLE and Pip) • This will install the following software: o Python 3 Programming language and Interpreter o IDLE: an integrated development environment for Python o Pip: Python package installer • We want to use Python 3. Although Python is already installed on most Macs, it may be Python 2, or maybe an older version of Python 3. We need to leave Python 2 alone as your Mac may need it for some apps. We will install the latest version of Python 3. • Check your version of MacOS (Apple icon: About this Mac); the latest Python 3 requires version 10.9 or higher • Check your versions of Python: o Open terminal from the dock or command-space and type “Terminal” o In terminal type ‘python —version’ to see the version of Python 2 o In terminal type ‘python3 —version’ to see the version of Python3 • Go to https://www.python.org/downloads/ • The site detects whether you are on Windows or Mac and presents a download button for the latest version for your operating system. Click the “Download Python 3.8.1” button (or whatever is current version…) • Install by clicking Downloads from the dock or Finder, then click python-3-8-1- macosx-10.9.pkg to bring up the installer © Fox1 Valley Girls Coding Club Setup Python and Visual Studio Code: Windows • Follow the steps in the installer.
    [Show full text]
  • Design and Analysis of a Scala Benchmark Suite for the Java Virtual Machine
    Design and Analysis of a Scala Benchmark Suite for the Java Virtual Machine Entwurf und Analyse einer Scala Benchmark Suite für die Java Virtual Machine Zur Erlangung des akademischen Grades Doktor-Ingenieur (Dr.-Ing.) genehmigte Dissertation von Diplom-Mathematiker Andreas Sewe aus Twistringen, Deutschland April 2013 — Darmstadt — D 17 Fachbereich Informatik Fachgebiet Softwaretechnik Design and Analysis of a Scala Benchmark Suite for the Java Virtual Machine Entwurf und Analyse einer Scala Benchmark Suite für die Java Virtual Machine Genehmigte Dissertation von Diplom-Mathematiker Andreas Sewe aus Twistrin- gen, Deutschland 1. Gutachten: Prof. Dr.-Ing. Ermira Mezini 2. Gutachten: Prof. Richard E. Jones Tag der Einreichung: 17. August 2012 Tag der Prüfung: 29. Oktober 2012 Darmstadt — D 17 For Bettina Academic Résumé November 2007 – October 2012 Doctoral studies at the chair of Prof. Dr.-Ing. Er- mira Mezini, Fachgebiet Softwaretechnik, Fachbereich Informatik, Techni- sche Universität Darmstadt October 2001 – October 2007 Studies in mathematics with a special focus on com- puter science (Mathematik mit Schwerpunkt Informatik) at Technische Uni- versität Darmstadt, finishing with a degree of Diplom-Mathematiker (Dipl.- Math.) iii Acknowledgements First and foremost, I would like to thank Mira Mezini, my thesis supervisor, for pro- viding me with the opportunity and freedom to pursue my research, as condensed into the thesis you now hold in your hands. Her experience and her insights did much to improve my research as did her invaluable ability to ask the right questions at the right time. I would also like to thank Richard Jones for taking the time to act as secondary reviewer of this thesis.
    [Show full text]