Loading…
CppNorth 2025, The Canadian C++ Conference
July 20-23, 2025 • Toronto, Canada
Type: interop clear filter
Monday, July 21
 

13:00 EDT

Improving JavaScript runtimes with C++20
Monday July 21, 2025 13:00 - 14:00 EDT
The integration of C++20's new ranges library into JavaScript runtimes presents a promising avenue for enhancing performance and code clarity. We delves into how ranges can simplify the handling of collections and sequences in JavaScript engines such as Node.js and Cloudflare workerd. By leveraging lazy evaluation offered by C++20 ranges, JavaScript runtimes can achieve more efficient data processing, reducing both memory footprint and execution time. We explore the application of ranges in optimizing Node.js, showing how they can be used for tasks such as data transformation, filtering, and iteration with less boilerplate code. We examine the benefits of ranges in terms of code readability and maintainability, which are critical for the large teams working on these engines. We provide practical guidance on how developers can begin to incorporate ranges into their projects, considering both the technical and educational aspects of this transition. Our analysis concludes that while there's an adjustment period for developers, the long-term advantages in performance and ease of development make C++20 ranges an invaluable tool for modernizing JavaScript runtimes.
Speakers
avatar for Daniel Lemire

Daniel Lemire

Daniel Lemire is a computer science professor at the Université du Québec (TÉLUQ) in Canada, known for his research in software performance. Daniel Lemire ranks in the top 2% of scientists worldwide according to Stanford University/Elsevier's 2024 ranking. He is part of the 1000... Read More →
avatar for Yagiz Nizipli

Yagiz Nizipli

Yagiz Nizipli is a distinguished software engineer known for his contributions to Node.js and his service as a member of the Node.js Technical Steering Committee. He currently works as a Principal Systems Engineer at Cloudflare, focusing on optimizing and improving web application... Read More →
Monday July 21, 2025 13:00 - 14:00 EDT
TBA-B
 
Tuesday, July 22
 

14:30 EDT

Bridging C++ and Java with Qt JNI: An Android Application for On-Device Landmine Detection
Tuesday July 22, 2025 14:30 - 15:30 EDT
Recognizing objects in real-world situations, especially on mobile devices with limited resources or in areas with poor internet connectivity, can be a significant challenge. This talk presents a C++ application for real-time landmine detection, focusing on the Android deployment and its ability to perform on-device detection.

The application, built with the Qt framework written in C++, is designed for both offline (on-device) and online (cloud-connected) operation, balancing performance, accuracy, and connectivity constraints. The Android deployment utilizes the Qt JNI (Java Native Interface) to interact with an ONNX Runtime-based inference engine running in a Java environment, as well as accessing native Android APIs for tasks requiring on-device processing, such as file I/O, thumbnail generation, and network connectivity checks. We will discuss the challenges and solutions involved, including data marshalling between C++ and Java (image format conversion and bounding box result processing), and accessing native Android functionalities from C++. The presentation will include simplified code examples that illustrate these critical integration points.

By the end of the talk, attendees will gain a practical understanding of how to communicate between C++ and Java using JNI, integrate pre-trained deep learning models into their C++ applications, evaluate the trade-offs between on-device and cloud-based processing, and address performance considerations for real-time object detection on Android.
Speakers
avatar for Oleksandr Kunichik

Oleksandr Kunichik

I am Oleksandr Kunichik, a Senior C++ Developer at Pokerstars in Toronto and a Ph.D. student in Software Engineering at the Taras Shevchenko National University of Kyiv. I have over 10 years of experience developing C++ applications, and my current research combines this expertise... Read More →
Tuesday July 22, 2025 14:30 - 15:30 EDT
TBA-A
 
  • Filter By Date
  • Filter By Venue
  • Filter By Type
  • Timezone


Share Modal

Share this link via

Or copy link

Filter sessions
Apply filters to sessions.