The easiest way to speed up Python with Rust

If you want to speed up some existing Python code, writing a compiled extension in Rust can be an excellent choice: In many situations, Rust code can run much faster than Python. Rust prevents most of the memory-management bugs that often occur in C, C++, and Cython code. There is a growing ecosystem of third-party Rust packages available, and unlike C and C++ it also has a built-in package manager and build system. However, if you just want to prototype […]

Read more

Profiling in Python: How to Find Performance Bottlenecks

Do you want to optimize the performance of your Python program to make it run faster or consume less memory? Before diving into any performance tuning, you should strongly consider using a technique called software profiling. It may help you answer whether optimizing the code is necessary and, if so, which parts of the code you should focus on. Sometimes, the return on investment in performance optimizations just isn’t worth the effort. If you only run your code once or […]

Read more

Highlights from Machine Translation and Multilinguality in June 2023

Here are the preprints that I found the most interesting in June 2023. Exploring the Relationship between Alignment and Cross-lingual Transfer in Multilingual Transformers Folks from LORIA (a French research institute) and Posos (a French company) study the relationship between cross-lingual representation alignment and cross-lingual transfer. Here, alignment means what I would call language neutrality, i.e., that similar sentences should receive similar representation across languages. (Not alignment as the new word for finetuning language models to follow instructions, nor the […]

Read more

Python 3.12 Preview: Support For the Linux perf Profiler

The final release of Python 3.12 is scheduled for October 2023, which is growing closer. In the meantime, you can download and install its preview version to get a sneak peek at the upcoming features. One of the biggest changes announced is support for the Linux perf profiler, which is a powerful performance profiling tool. To fully benefit from using the perf profiler in Python 3.12, you should have a fairly good understanding of how the underlying hardware and the […]

Read more

Filtering Iterables With Python

Python’s filter() is a built-in function that allows you to process an iterable and extract those items that satisfy a given condition. This process is commonly known as a filtering operation. With filter(), you can apply a filtering function to an iterable and produce a new iterable with the items that satisfy the condition at hand. In Python, filter() is one of the tools that you can use for functional programming. In this video course, you’ll learn how to: Use […]

Read more

How to Round Numbers in Python

With many businesses turning to Python’s powerful data science ecosystem to analyze their data, understanding how to avoid introducing bias into datasets is absolutely vital. If you’ve studied some statistics, then you’re probably familiar with terms like reporting bias, selection bias, and sampling bias. There’s another type of bias that plays an important role when you’re dealing with numeric data: rounding bias. Understanding how rounding works in Python can help you avoid biasing your dataset. This is an important skill. […]

Read more

Speeding up arXiv browsing

Staying up to date with the newest NLP work is a tough job, and reading about new research takes a significant amount of my time. For several years, one of my work routines has been skimming over the arXiv digest. I open a few preprints, glance over them, and write some notes into Zotero. Once a month, I write a blog post about what I think was the most interesting, which should force me to understand the papers, at least […]

Read more

When NumPy is too slow

If you’re doing numeric calculations, NumPy is a lot faster than than plain Python—but sometimes that’s not enough. What should you do when your NumPy-based code is too slow? Your first thought might be parallelism, but that should probably be the last thing you consider. There are many speedups you can do before parallelism becomes helpful, from algorithmic improvements to working around NumPy’s architectural limitations. Let’s see why NumPy can be slow, and then some solutions to help speed up […]

Read more
1 91 92 93 94 95 913