Juliusz Chroboczek's research while affiliated with Paris Diderot University and other places
What is this page?
This page lists the scientific contributions of an author, who either does not have a ResearchGate profile, or has not yet added these contributions to their profile.
It was automatically created by ResearchGate to create a record of this author's body of work. We create such pages to advance our goal of creating and maintaining the most comprehensive scientific repository possible. In doing so, we process publicly available (personal) data relating to the author as a member of the scientific community.
If you're a ResearchGate member, you can follow this page to keep up with this author's work.
If you are this author, and you don't want us to display this page anymore, please let us know.
It was automatically created by ResearchGate to create a record of this author's body of work. We create such pages to advance our goal of creating and maintaining the most comprehensive scientific repository possible. In doing so, we process publicly available (personal) data relating to the author as a member of the scientific community.
If you're a ResearchGate member, you can follow this page to keep up with this author's work.
If you are this author, and you don't want us to display this page anymore, please let us know.
Publications (5)
This paper is a companion technical report to the article
"Continuation-Passing C: from threads to events through continuations". It
contains the complete version of the proofs of correctness of lambda-lifting
and CPS-conversion presented in the article.
Threads are a convenient and modular abstraction for writing concurrent
programs, but often fairly expensive. The standard alternative to threads,
event-loop programming, allows much lighter units of concurrency, but leads to
code that is difficult to write and even harder to understand. Continuation
Passing C (CPC) is a translator that converts a...
In this paper, we introduce Continuation Passing C (CPC), a programming
language for concurrent systems in which native and cooperative threads are
unified and presented to the programmer as a single abstraction. The CPC
compiler uses a compilation technique, based on the CPS transform, that yields
efficient code and an extremely lightweight repres...
We compare a set of web servers on a simple synthetic workload. We show that, on this particular bench-mark, event-driven code is as fast or faster than the fastest implementations using thread libraries.
Citations
... Web servers To evaluate the impact of environments on more realistic programs, we reuse our web server benchmark [9]. We measure the mean response time of a small web server under the load of an increasing number of simultaneous clients. ...
Reference: Generating events with style
... In this paper, we give an introduction to CPC programming, we describe informally the transformations performed by CPC, and give an outline of the proof of correctness; the complete proof can be found in a companion technical report [28]. ...
... The reader may remark this concept is reminiscent of transactional memory [16]. Cooperative multitasking enables the design of concurrent programs on single threaded environments, which not only can prove beneficial performancewise [24], but also significantly reduces the need for locks and other synchronization mechanisms, and opens the door for more relaxed immutability models. ...
Reference: A practical type system for safe aliasing
... Cilk [11] runtime uses continuations to spawn and synchronize workers. Continuation Passing C [24] allows the programmers to spawn new workers to execute a particular function, put a worker to sleep and wake it up later using library functions. Li et al. [25] present an alternative way to implement concurrency in the Glasgow Haskell Compiler, by polling the pool of suspended continuations to see if blocking can be resolved. ...
Reference: Efficiency and expressiveness in UW-OpenMP