Language Selection

English French German Italian Portuguese Spanish

Development

A Fresh Look At The PGO Performance With GCC 8

Filed under
Development
GNU

It's been a while since we last ran some GCC PGO benchmarks, the Profile Guided Optimizations or feedback-directed optimization technique that makes use of profiling data at run-time to improve performance of re-compiled binaries. Here are some fresh benchmarks of GCC PGO impact on a Xeon Scalable server while using the newly-released GCC 8.2 release candidate.

With it being a while since our last roundabout with GCC PGO benchmarking and also a reader recently inquiring about PTS PGO testing, I ran some new tests. For those not familiar with PGO, it basically involves first compiling the code with the relevant PGO/profiling flags, running the workload under test to generate the profiling data, and then re-compiling the software while feeding that profiling data into the compiler so it can make better optimization choices. This profile-guided feedback can be quite beneficial to the compiler for making wiser code generation choices based upon that run-time data. Firefox, Chrome, and other popular software packages have been relying upon PGO-optimized release binaries for a while to offer greater performance.

Read more

Also: A 3.3x Performance Improvement For FLAC Audio Encoding On POWER 64-bit

Qt Creator 4.7.0

Filed under
Development
KDE
  • Qt Creator 4.7.0 released

    We are happy to announce the release of Qt Creator 4.7.0!

  • Qt Creator 4.7 Released With Clang Code Model Turned On By Default

    The Qt Company has officially released Qt Creator 4.7 as the newest feature release to this open-source, cross-platform Qt/C++ focused integrated development environment.

    Today's Qt Creator 4.7 IDE release is quite significant in that it finally turns on the Clang code model by default. The Clang code model provides significantly better C++ support over what was offered by their in-house code model and will stay better up-to-date with newer C/C++ standards, etc. The Clang code model in Qt Creator 4.7 is based on LLVM/Clang 6.0.

A Proposal To Allow Python Scripting Within The GCC Compiler, Replacing AWK

Filed under
Development
GNU

A SUSE developer is seeking feedback and interest on the possibility of allowing a scripting language -- most likely Python -- to be used within the GCC compiler code-base. This would primarily be used for replacing existing AWK scripts.

GCC developer Martin Liška at SUSE is seeking comments on the possibility of adding Python as an accepted language within the GCC code-base. This isn't anything along the likes of replacing existing GCC C compiler code into a scripting language or anything to that effect, but is targeting at replacing current AWK scripts that are hard to maintain.

Read more

Ballerina reinvents cloud-native programming

Filed under
Development

Ballerina has been inspired by Java, Go, C, C++, Rust, Haskell, Kotlin, Dart, TypeScript, JavaScript, Swift, and other languages. It is an open source project, distributed under the Apache 2.0 license, and you can find its source code in the project's GitHub repository.

Read more

Belated Thoughts on van Rossum’s Departure

Filed under
Development
  • Is BDFL a death sentence?

    A few days ago, Guido van Rossum, creator of the Python programming language and Benevolent Dictator For Life (BDFL) of the project, announced his intention to step away.

    Below is a portion of his message, although the entire email is not terribly long and worth taking the time to read if you’re interested in the circumstances leading to van Rossum’s departure.

  • Thoughts on Guido retiring as BDFL of Python

    I've been programming in Python for almost 20 years on a myriad of open source projects, tools for personal use, and work. I helped out with several PyCon US conferences and attended several others. I met a lot of amazing people who have influenced me as a person and as a programmer.

    I started PyVideo in March 2012. At a PyCon US after that (maybe 2015?), I found myself in an elevator with Guido and somehow we got to talking about PyVideo and he asked point-blank, "Why work on that?" I tried to explain what I was trying to do with it: create an index of conference videos across video sites, improve the meta-data, transcriptions, subtitles, feeds, etc. I remember he patiently listened to me and then said something along the lines of how it was a good thing to work on. I really appreciated that moment of validation. I think about it periodically. It was one of the reasons Sheila and I worked hard to transition PyVideo to a new group after we were burned out.

Opinion: GitHub vs GitLab

Filed under
Development
Microsoft

So, Microsoft bought GitHub, and many people are confused or worried. It's not a new phenomenon when any large company buys any smaller company, and people are right to be worried, although I argue that their timing is wrong. Like Microsoft, GitHub has made some useful contributions to free and open-source software, but let's not forget that GitHub's main product is proprietary software. And, it's not just some innocuous web service either; GitHub makes and sells a proprietary software package you can download and run on your own server called GitHub Enterprise (GHE).

Let's remember how we got here. BitMover made a tool called BitKeeper, a proprietary version control system that allowed free-of-charge licenses to free software projects. In 2002, the Linux kernel switched to using BitKeeper for its version control, although some notable developers made the noble choice to refuse to use the proprietary program. Many others did not, and for a number of years, kernel development was hampered by BitKeeper's restrictive noncommercial licenses.

In 2005, Andrew Tridgell, working at OSDL, developed a client that bypassed this restriction, and as a result, BitMover removed licenses to BitKeeper from all OSDL employees—including Linus Torvalds. Eventually, all non-commercial licenses were stopped, and new licenses included clauses preventing the development of alternative version control systems. As a result of this, two new projects were born: Mercurial and Git. Created in a few short weeks in 2005, Git quickly became the version control system for Linux development.

Proprietary version control tools aren't common in free software development, but proprietary collaboration websites have been around for some time. One of the earliest collaboration websites still around today is Sourceforge. Sourceforge was created in the late 1990s by VA Software, and the code behind the project was released in 2000.

Read more

Programming: Perl, RcppClassic, Git-cinnabar, Effective Python

Filed under
Development
  • Confessions of a recovering Perl hacker

    My name's MikeCamel, and I'm a Perl hacker.

    There, I've said it. That's the first step.

    My handle on IRC, Twitter and pretty much everywhere else in the world is "MikeCamel." This is because, back in the day, when there were no chat apps—no apps at all, in fact—I was in a technical "chatroom" and the name "Mike" had been taken. I looked around, and the first thing I noticed on my desk was the Camel Book, the O'Reilly Perl Bible.

    I have the second edition now, but this was the first edition. Yesterday, I happened to pick up the second edition, the really thick one, to show someone on a video conference call, and it had a thin layer of dust on it. I was a little bit ashamed, but a little bit relieved as well.

  • RcppClassic 0.9.11

    A new maintenance release, now at version 0.9.11, of the RcppClassic package arrived earlier today on CRAN. This package provides a maintained version of the otherwise deprecated initial Rcpp API which no new projects should use as the normal Rcpp API is so much better.

  • Mike Hommey: Announcing git-cinnabar 0.5.0 beta 4

    Git-cinnabar is a git remote helper to interact with mercurial repositories. It allows to clone, pull and push from/to mercurial remote repositories, using git.

  • Russ Allbery: Review: Effective Python

Programming: Becoming a Senior Developer, DWG and a "New Phase" of Python

Filed under
Development
  • Becoming a senior developer: 9 experiences you'll encounter

    Being a developer—a good one—isn't just about writing code. To be successful, you do a lot of planning, you deal with catastrophes, and you prevent catastrophes. Not to mention you spend plenty of time working with other humans about what your code should do.

  • Revealing unknown DWG classes

    I implemented three major buzzwords today in some trivial ways.

        massive parallel processing
        asynchronous processing
        machine-learning: a self-improving program

    The problem is mostly trivial, and the solutions also. I need to
    reverse-engineer a binary closed file-format, but got some hints from
    a related ASCII file-format, DWG vs DXF.

  • Python and Its Community Enter a New Phase

    Python is an amazing programming language, there's no doubt about it. >From humble beginnings in 1991, it's now just about everywhere. Whether you're doing web development, system administration, test automation, devops or data science, odds are good that Python is playing a role in your work.

    Even if you're not using Python directly, odds are good that it is being used behind the scenes. Using OpenStack? Python plays an integral role in its development and configuration. Using Dropbox on your computer? Then you've got a copy of Python running on your computer. Using Linux? When I purchased Red Hat Linux back in 1995, the configuration was a breeze—thanks to visual tools developed in Python.

    And, of course, there are numerous schools and educational programs that are now teaching Python. MIT's intro computer science course switched several years ago from Scheme to Python, and thousands of universities all over the world made a similar switch in its wake. My 15-year-old daughter participates in a program for technology and entrepreneurship—and she's learning Python.

    There currently is an almost insatiable demand for Python developers. Indeed, Stack Overflow reported last year that Python is not only the most popular language on its site, but it's also the fastest-growing language. I can attest to this popularity in my own job as a freelance Python trainer. Some of the largest computer companies in the world are now using Python on a regular basis, and their use of the language is growing, not shrinking.

GCC 8.2 Compiler Will Be Releasing Soon

Filed under
Development
GNU

Developers behind the GNU Compiler Collection intend to get release preparations underway soon for the GCC 8.2 compiler.

GCC8 remains open for bug/regression fixes and documentation updates with GCC 8.2 due to be the first point release under the GCC versioning policy where the May release of GCC 8.1 marked the project's first stable feature release of GCC8. New feature development meanwhile remains focused on GCC 9, which will be released initially as GCC 9.1 around early 2019.

So to no surprise, GCC 8.2 is set to carry just various regression fixes primarily as more developers began trying out this annually updated compiler following the recent stable release.

Read more

Programming: Go, Python, GCC, Git and Qt

Filed under
Development
  • Locks versus channels in concurrent Go

    In this article, a short look at goroutines, threads, and race conditions sets the scene for a look at two Go programs. In the first program, goroutines communicate through synchronized shared memory, and the second uses channels for the same purpose. The code is available from my website in a .zip file with a README.

  • Pete Zaitcev: Guido van Rossum steps down
  • Guido van Rossum Stepping Down from Role as Python's Benevolent Dictator For Life

    Python's Benevolent Dictator For Life (BDFL) Guido van Rossum today announced he's stepping down from the role.

    On the Python mailing list today, van Rossum said, "I would like to remove myself entirely from the decision process. I'll still be there for a while as an ordinary core dev, and I'll still be available to mentor people—possibly more available. But I'm basically giving myself a permanent vacation from being BDFL, and you all will be on your own."

  • GCC 8 Hasn't Been Performing As Fast As It Should For Skylake With "-march=native"

    It turns out that when using GCC 8 since April (or GCC 9 development code) if running on Intel Skylake (or newer architectures like the yet-to-be-out Cannonlake or Icelake) and compile your code with the "-march=native" flag for what should tune for your CPU microarchitecture's full capabilities, that hasn't entirely been the case. A fix is en route that can correct the performance by as much as 60%.

  • Upcoming git-crecord release

    More than 1½ years since the first release of git-crecord, I’m preparing a big update. Not aware how exactly many people are using it, I neglected the maintenance for some time, but last month I’ve decided I need to take action and fix some issues I’ve known since the first release.

  • Profiling memory usage on Linux with Qt Creator 4.7

    You may have heard about the Performance Analyzer (called “CPU Usage Analyzer” in Qt Creator 4.6 and earlier). It is all about profiling applications using the excellent “perf” tool on Linux. You can use it locally on a Linux-based desktop system or on various embedded devices. perf can record a variety of events that may occur in your application. Among these are cache misses, memory loads, context switches, or the most common one, CPU cycles, which periodically records a stack sample after a number of CPU cycles have passed. The resulting profile shows you what functions in your application take the most CPU cycles. This is the Performance Analyzer’s most prominent use case, at least so far.

Syndicate content

More in Tux Machines

Linux Foundation, AGL and Linux Security

  • Deutsche Telekom joins Linux Foundation as platinum member
    Deutsche Telekom has joined The Linux Foundation Networking (LFN) as a Platinum member. Telekom will support LFN’s efforts to accelerate the development and adoption of open-source networking technologies and contribute to new network technologies enabling 5G services, said LFN. LFN said its projects now enable nearly 70 percent of all global mobile subscribers with the addition of Deutsche Telekom, and the company’s membership in LFN will drive the LFN initiative into new regions and promote the adoption of open standards and source.
  • Deutsche Telekom Goes Platinum at Linux Foundation
    Linux Foundation Networking (LFN) continues its membership growth with the addition of its newest Platinum member, Deutsche Telekom, one of the world’s leading integrated telecommunications companies. Deutsche Telekom joins LFN to support its efforts in accelerating the development and adoption of open source networking technologies. With the addition of Deutsche Telekom, LFN projects now enable nearly seventy percent of all global mobile subscribers. With its collaboration and extensive global footprint, Deutsche Telekom will help accelerate LFN globally, contributing to emerging network technologies critical to enabling 5G services. LFN supports the momentum of open source networking, integrating governance of participating projects in order to enhance operational excellence, simplify member engagement, and increase collaboration. Deutsche Telekom is also an active participant in the ONAP project and plans to contribute to the next platform release, Casablanca.
  • Automotive open source virtualization: Bringing open source virtualization in AGL
    The AGL Software Defined Car Architecture white paper defines how the AGL target platform for software defined vehicles can be implemented by using virtualization techniques, presented in the document along with their automotive benefits, challenges, use cases and requirements. From the beginning, this work objective was to provide an architecture for a virtualization platform that can be used, extended or customized by Tier-1 or OEM companies to reduce time to market.
  • Meltdown Protection For x86 32-bit Aligned For The Linux 4.19 Kernel
    Those still relying upon x86 32-bit Linux kernels for aging hardware and continuing to update to the latest software will find mitigation for the Meltdown CPU vulnerability with the upcoming Linux 4.19 kernel cycle. You'll find this mitigation but at the cost of performance. While x86_64 Linux was mitigated back in January for Meltdown, it's taken a while for x86 32-bit support for KPTI, Kernel Page Table Isolation. This is basically applying the same page table isolation approach seen on Linux x86_64 and ARM to now the 32-bit x86 kernel code. Obviously it hasn't been a priority with many Linux distributions not even bothering with i686 install images in recent years.

Cloud-Native/Kubernetes/Container/OpenShift

  • 10 Key Attributes of Cloud-Native Applications
    Cloud-native platforms, like Kubernetes, expose a flat network that is overlaid on existing networking topologies and primitives of cloud providers. Similarly, the native storage layer is often abstracted to expose logical volumes that are integrated with containers. Operators can allocate storage quotas and network policies that are accessed by developers and resource administrators. The infrastructure abstraction not only addresses the need for portability across cloud environments, but also lets developers take advantage of emerging patterns to build and deploy applications. Orchestration managers become the deployment target, irrespective of the underlying infrastructure that may be based on physical servers or virtual machines, private clouds or public clouds. Kubernetes is an ideal platform for running contemporary workloads designed as cloud-native applications. It’s become the de facto operating system for the cloud, in much the same way Linux is the operating system for the underlying machines. As long as developers follow best practices of designing and developing software as a set of microservices that comprise cloud-native applications, DevOps teams will be able to package and deploy them in Kubernetes. Here are the 10 key attributes of cloud-native applications that developers should keep in mind when designing cloud-native applications.
  • Google Embraces New Kubernetes Application Standard
    Once an organization has a Kubernetes container orchestration cluster running, the next challenge is to get applications running. Google is now aiming to make it easier for organizations to deploy Kubernetes applications, through the Google Cloud Platform Marketplace. The new marketplace offerings bring commercial Kubernetes-enabled applications that can be run in the Google cloud, or anywhere else an organization wants. All a user needs to do is visit the GCP marketplace and click the Purchase Plan button to get started. "Once they agree to the terms, they'll find instructions on how to deploy this application on the Kubernetes cluster of their choice, running in GCP or another cloud, or even on-prem," Anil DhawanProduct Manager, Google Cloud Platform, told ServerWatch. "The applications report metering information to Google for billing purposes so end users can get one single bill for their application usage, regardless of where it is deployed."
  • Challenges and Requirements for Container-Based Applications and Application Services
    Enterprises using container-based applications require a scalable, battle-tested, and robust services fabric to deploy business-critical workloads in production environments. Services such as traffic management (load balancing within a cluster and across clusters/regions), service discovery, monitoring/analytics, and security are a critical component of an application deployment framework. This blog post provides an overview of the challenges and requirements for such application services.

Software: Music Tagger MusicBrainz, Pulseaudio, COPR, AV1

  • Music Tagger MusicBrainz Picard 2.0 Ported To Python 3 And PyQt5, Brings Improved UI And More
    MusicBrainz Picard version 2.0 was released after more than 6 years since the previous major release (1.0). The new version was ported to Python 3 and PyQt5 and includes Retina and HiDPI support, improved UI and performance, as well as numerous bug fixes. [...] MusicBrainz Picard 2.0 was ported to Python 3 (requires at least version 3.5) and PyQt5 (>= 5.7). The release announcement mentions that a side effect of this is that "Picard should look better and in general feel more responsive". Also, many encoding-related bugs were fixed with the transition to Python 3, like the major issue of not supporting non-UTF8 filenames.
  • Pulseaudio: the more things change, the more they stay the same
    Such a classic Linux story. For a video I'll be showing during tonight's planetarium presentation (Sextants, Stars, and Satellites: Celestial Navigation Through the Ages, for anyone in the Los Alamos area), I wanted to get HDMI audio working from my laptop, running Debian Stretch. I'd done that once before on this laptop (HDMI Presentation Setup Part I and Part II) so I had some instructions to follow; but while aplay -l showed the HDMI audio device, aplay -D plughw:0,3 didn't play anything and alsamixer and alsamixergui only showed two devices, not the long list of devices I was used to seeing. Web searches related to Linux HDMI audio all pointed to pulseaudio, which I don't use, and I was having trouble finding anything for plain ALSA without pulse. In the old days, removing pulseaudio used to be the cure for practically every Linux audio problem. But I thought to myself, It's been a couple years since I actually tried pulse, and people have told me it's better now. And it would be a relief to have pulseaudio working so things like Firefox would Just Work. Maybe I should try installing it and see what happens.
  • 4 cool new projects to try in COPR for July 2018
    COPR is a collection of personal repositories for software that isn’t carried in Fedora. Some software doesn’t conform to standards that allow easy packaging. Or it may not meet other Fedora standards, despite being free and open source. COPR can offer these projects outside the Fedora set of packages. Software in COPR isn’t supported by Fedora infrastructure or signed by the project. However, it can be a neat way to try new or experimental software. Here’s a set of new and interesting projects in COPR.
  • SD Times Open-Source Project of the Week: AV1
    Open source supporters and companies are teaming up to offer the next general of video delivery. The Alliance for Open Media (AOMEDIA) is made up of companies like Mozilla, Google, Cisco, Amazon and Netflix, and on a mission to create an open video format and new codec called AV1. In a blog post about the AOMedia Video, or AV1, video codec, Mozilla technical writer Judy DeMocker laid out the numbers; within the next few years, video is expected to account for over 80 percent of Internet traffic. And unbeknownst to many, all of that free, high-quality video content we’ve come to expect all across the Internet costs quite a bit for the people providing it via codec licensing fees. The most common, H.264, is used all over the place to provide the compression required to send video quickly and with quality intact.
  •  

KDE and GNOME: Kubuntu 18.04 Reviewed, Akademy, Cutelyst and GUADEC

  • Kubuntu 18.04 Reviewed in Linux ( Pro ) Magazine
    Kubuntu Linux has been my preferred Linux distribution for more than 10 years. My attraction to the KDE desktop and associated application set, has drawn from Kubuntu user, to a tester, teacher, developer, community manager and councilor. I feel really privileged to be part of, what can only be described as, a remarkable example of the free software, and community development of an exceptional product. This latest release 18.04, effectively the April 2018 release, is a major milestone. It is the first LTS Long Term Support release of Kubuntu running the “Plasma 5” desktop. The improvements are so considerable, in both performance and modern user interface ( UI ) design, that I was really excited about wanting to tell the world about it.
  • Going to Akademy
    Happy to participate in a tradition I’ve admired from afar but never been able to do myself… until this year. My tickets are bought, my passport is issued, and I’m going to Akademy! Hope to see you all there!
  • System76's New Manufacturing Facility, Ubuntu 17.10 Reaches End of Life, Google Cloud Platform Marketplace, Stranded Deep Now Available for Linux and Cutelyst New Release
    Cutelyst, a C++ web framework based on Qt, has a new release. The update includes several bug fixes and some build issues with buildroot. See Dantti's Blog for all the details. Cutelyst is available on GitHub.
  • GUADEC 2018 Videos: Help Wanted
    At this year’s GUADEC in Almería we had a team of volunteers recording the talks in the second room. This was organized very last minute as initially the University were going to do this, but thanks to various efforts (thanks in particular to Adrien Plazas and Bin Li) we managed to record nearly all the talks. There were some issues with sound on both the Friday and Saturday, which Britt Yazel has done his best to overcome using science, and we are now ready to edit and upload the 19 talks that took place in the 2nd room. To bring you the videos from last year we had a team of 5 volunteers from the local team who spent our whole weekend in the Codethink offices. (Although none of us had much prior video editing experience so the morning of the first day was largely spent trying out different video editors to see which had the features we needed and could run without crashing too often… and the afternoon was mostly figuring out how transitions worked in Kdenlive).
  • GUADEC 2018
    This year I attended my second GUADEC in beautiful Almería, Spain. As with the last one I had the opportunity to meet many new people from the extended GNOME community which is always great and I can’t recommend it enough for anybody involved in the project. [...] Flatpak continues to have a lot of healthy discussions at these events. @matthiasclasen made a post summarizing the BoF so check that out for the discussions of the soon landing 1.0 release. So lets start with the Freedesktop 18.07 (date based versioning now!) runtime which is in a much better place than 1.6 and will be solving lots of problems such as multi-arch support and just long term maintainability. I was really pleased to see all of the investment in BuildStream and the runtime from CodeThink which is really needed in the long term.