· Balisage Series on Markup Technologies· Vol 31· 0 citations
TL;DR
It is suggested that extension functions provide a valuable mechanism for addressing performance-critical and integration-oriented requirements without abandoning the declarative programming model offered by XSLT, XQuery, and XPath.
Abstract
XSLT, XQuery, and XPath provide powerful declarative languages for processing XML and related data formats [
XSLT30
,
XQUERY31
]. However, some workloads involve computationally intensive operations or integration requirements that are more naturally expressed in a host programming language.
Modern XML processors allow user-defined extension functions to be implemented in host languages (e.g., in Java, C#, JS, C++, Python and PHP) and invoked directly from XSLT, XQuery, and XPath expressions [
SAXON
,
BASEX
].
This paper investigates the performance and practical benefits of using host-language user extension functions where necessary as an alternative to implementing equivalent logic directly in XSLT, XQuery, or XPath. As a case study, we implement and benchmark equivalent computational workloads using extension functions written in Java, C++ and Python. We examine the trade-offs between declarative purity, execution performance, and integration flexibility, including the overhead of crossing language boundaries and the circumstances under which host-language implementations can outperform equivalent XML-language expressions.
The results demonstrate that carefully designed extension functions can achieve performance approaching that of the host language itself while remaining fully integrated within XML processing. These findings suggest that extension functions provide a valuable mechanism for addressing performance-critical and integration-oriented requirements without abandoning the declarative programming model offered by XSLT, XQuery, and XPath.
CPL is presented, a compact C-like systems language that retains C's direct access to memory, layout, and machine interfaces while experimenting with a smaller grammar and selected conveniences from newer languages, and whether C-like are more convenient to use for compiler experiments than modern approaches and paradi...
Language workbenches such as Xtext and Langium have made it substantially easier to build IDE tooling for domain-specific languages. However, as workspaces grow, build times and memory consumption of these frameworks exceed acceptable levels, negatively impacting user experience. In this paper, we present Fastbelt, a n...
Mark Sujew, Steven Smyth· Proceedings of the ACM/IEEE...· 0 citations
The actor model of computation is an attractive representation for many applications because it explicitly captures concurrency and supports compile-time analyses such as buffer sizing and static scheduling. However, descriptions of applications in this model are often tied to specific frameworks and programming langua...
Gareth Callanan, Michail Boulasikis, Flavius Gruian· ACM Transactions on Architec...· 0 citations
This paper revisits the connection between Datalog and relational databases, advocating recursive SQL as a backend for Datalog evaluation, and presents a compilation framework that translates Datalog programs, particularly those in the Linear Datalog fragment, into equivalent recursive SQL queries.
Amir Shaikhha, Anna Herlihy, Hung Q. Ngo· 0 citations
ParaWeb is presented, a TypeScript library that implements ten parallel programming patterns for server-side Node.js, client-side browser environments, and WebGPU compute shaders and shows that GPU acceleration reaches up to 414x speedup over single-threaded CPU on non-separable kernels.
eBPF allows user-defined programs to safely extend Linux kernel functionality at runtime, but its final machine code comes from a compilation pipeline that differs from native targets, and how efficient that pipeline is has no clear reference point. Our work constructs one: using the standard LLVM x86 backend as an app...
Hoang Duong, Hao Sun, Zhen-Dong Su· Proceedings of the 4th Works...· 0 citations
We use cookies to run the site and, with your consent, for analytics and to show ads.
See our Cookie Policy.