惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Blog — PlanetScale
Blog — PlanetScale
B
Blog
A
About on SuperTechFans
大猫的无限游戏
大猫的无限游戏
爱范儿
爱范儿
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
H
Help Net Security
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 三生石上(FineUI控件)
有赞技术团队
有赞技术团队
酷 壳 – CoolShell
酷 壳 – CoolShell
WordPress大学
WordPress大学
IT之家
IT之家
D
Docker
Google DeepMind News
Google DeepMind News
罗磊的独立博客
T
The Blog of Author Tim Ferriss
aimingoo的专栏
aimingoo的专栏
博客园 - 叶小钗
Recent Announcements
Recent Announcements
阮一峰的网络日志
阮一峰的网络日志
D
DataBreaches.Net
博客园 - 司徒正美
Engineering at Meta
Engineering at Meta

Cheriton School of Computer Science

Master's Thesis Presentation • Computer Graphics • VR GAViewer: Immersive Visualisation and Direct Manipulation of the Conformal Model in Virtual Reality | Cheriton School of Computer Science | University of Waterloo Seminar • Algorithms and Complexity • Lower Bounds for Private Optimization Via Reconstruction Attacks | Cheriton School of Computer Science | University of Waterloo Master’s Thesis Presentation • Data Systems • Efficient Oblivious Query Processing for Property Graph Databases | Cheriton School of Computer Science | University of Waterloo Master’s Thesis Presentation • Artificial Intelligence | Machine Learning • Inferred Author Gender as a Variable Affecting LLM Behaviour | Cheriton School of Computer Science | University of Waterloo Master’s Thesis Presentation • Bioinformatics • From Candidates to Evidence: Diagnostics for Trustworthy Biological Discovery | Cheriton School of Computer Science | University of Waterloo PhD Defence • Algorithms and Complexity • Graph Property Testing and the Container Method | Cheriton School of Computer Science | University of Waterloo Master’s Thesis Presentation • Software Engineering • An Empirical Study of Transitive Vulnerability Exposure in PyPI | Cheriton School of Computer Science | University of Waterloo Master’s Thesis Presentation • Human–Computer Interaction • The Design and Development of a Virtual Patient System for Medical Education | Cheriton School of Computer Science | University of Waterloo PhD Seminar • Software Engineering • Decoupling CLI Agent Scaffolding to Internalize Planning Across Scaffolds | Cheriton School of Computer Science | University of Waterloo Master’s Thesis Presentation • Algorithms and Complexity • On the Black-Box Impossibility of Hardness in TFNP from One-Way Functions | Cheriton School of Computer Science | University of Waterloo Seminar • Algorithms and Complexity • Geometric Distances for Curves and Graphs: From Matching to Simplification | Cheriton School of Computer Science | University of Waterloo PhD Defence • Computer Algebra | Symbolic Computation • On the Effective Algebraic Geometry of Determinantal Varieties | Cheriton School of Computer Science | University of Waterloo Seminar • Algorithms and Complexity • Computing with Full Memory in 2026 | Cheriton School of Computer Science | University of Waterloo Master’s Thesis Presentation • Algorithms and Complexity • Bipartite Density: From Mixing Time to Local Algorithms for Dense Subgraphs | Cheriton School of Computer Science | University of Waterloo Master’s Thesis Presentation • Cryptography, Security, and Privacy (CrySP) • Upgrading Security Properties for Updatable Public-Key Encryption through Modular Transformations | Cheriton School of Computer Science | University of Waterloo PhD Seminar • Programming Languages • The Defensive Tax: Price of Defenses That Never Defend | Cheriton School of Computer Science | University of Waterloo Master’s Thesis Presentation • Algorithms and Complexity • Algorithms for Analytic Combinatorics: Positivity Bounds and D-finite Operators | Cheriton School of Computer Science | University of Waterloo PhD Seminar • Cryptography, Security, and Privacy (CrySP) • IPFSCover: Examining Website Fingerprinting Threats in the InterPlanetary File System | Cheriton School of Computer Science | University of Waterloo Master’s Thesis Presentation • Programming Languages • Reified Generic Types for Scala 3 on the JVM | Cheriton School of Computer Science | University of Waterloo Master’s Thesis Presentation • Artificial Intelligence | Machine Learning • Abstract Reasoning with Vector Symbolic Algebras | Cheriton School of Computer Science | University of Waterloo Master’s Thesis Presentation • Artificial Intelligence | Machine Learning • Learning at Test Time: Adapting Models with Synthetic Data and Environment Interaction | Cheriton School of Computer Science | University of Waterloo PhD Seminar • Formal Methods • Counterexample Guided Abstraction and Refinement in Dash Models | Cheriton School of Computer Science | University of Waterloo Master’s Thesis Presentation • Systems and Networking • Runtime Configuration of GPU Workloads for Energy-efficient Execution | Cheriton School of Computer Science | University of Waterloo PhD Seminar • Artificial Intelligence | Machine Learning • Beyond Semantic Similarity: Direct Corpus Interaction for Agentic Search | Cheriton School of Computer Science | University of Waterloo PhD Seminar • Artificial Intelligence | Machine Learning • OpenResearcher: Reproducible Training for Long-Horizon Deep Research Agents | Cheriton School of Computer Science | University of Waterloo PhD Seminar • Software Engineering • SLA-Awareness for AI-assisted coding | Cheriton School of Computer Science | University of Waterloo PhD Seminar • Software Engineering • Context-Aware CodeLLM Eviction for AI-assisted Coding | Cheriton School of Computer Science | University of Waterloo PhD Seminar • Bioinformatics • Recurrent Energy-Based Modeling of Side-Chain Allostery | Cheriton School of Computer Science | University of Waterloo Seminar • Bioinformatics | Artificial Intelligence • Advancing Drug Discovery with FAIR Data and Explainable AI in Biomedical Research | Cheriton School of Computer Science | University of Waterloo PhD Defence • Artificial Intelligence | Machine Learning | Bioinformatics • Generative Synthetic Data for Pre-Clinical Drug Discovery | Cheriton School of Computer Science | University of Waterloo
Master’s Thesis Presentation • Software Engineering • Tra...
Joe Petrik · 2026-06-05 · via Cheriton School of Computer Science

Please note: This master’s thesis presentation will take place online.

Daniel Pang, Master’s candidate
David R. Cheriton School of Computer Science

Supervisor: Professor Stephen Watt

Generic programming enables abstraction and code reuse, but its impact on performance can vary significantly depending on language design and implementation strategy. Although modern programming languages differ substantially in compilation model, runtime system, and type system design, many share a common foundation of parametric abstraction and constrained generic programming, allowing scientific algorithms to be expressed in a largely portable manner across platforms.

This work investigates the trade-offs between generic and specialized implementations across multiple programming languages, with a focus on how generic realization strategies interact with runtime representation and compiler behaviour to determine performance characteristics. To evaluate these trade-offs, several arithmetic-intensive algorithms, including numerical kernels and a symbolic Gröbner basis computation, were implemented in both generic and specialized forms across a selected set of languages. These implementations were benchmarked to measure performance differences while also considering factors such as binary size and development experience.

The results show that the cost of generic programming is not inherent to abstraction itself, but instead depends on how generic abstractions are realized and optimized by the language and compiler. Languages employing compile-time specialization through monomorphization, such as C++ and Rust, often approached the performance of specialized implementations in the evaluated workloads, while approaches relying on boxed representations or runtime polymorphism often exhibited measurable overhead associated with dynamic dispatch, allocation, and additional levels of indirection. Runtime specialization approaches occupy an intermediate position, trading predictable compilation behaviour for adaptive optimization.

Overall, this work demonstrates that the relationship between abstraction and performance is shaped by language design, compiler strategy, and application context. These findings provide insight into both the shared foundations and differing realization strategies of modern generic systems, offering guidance for practitioners and language designers evaluating generics in performance-critical computing environments.


Attend this master’s thesis presentation virtually on Zoom.