ﻻ يوجد ملخص باللغة العربية
One form of type checking used in gradually typed language is transient type checking: whenever an object flows through code with a type annotation, the object is dynamically checked to ensure it has the methods required by the annotation. Just-in-time compilation and optimisation in virtual machines can eliminate much of the overhead of run-time transient type checks. Unfortunately this optimisation is not uniform: some type checks will significantly decrease, or even increase, a programs performance. In this paper, we refine the so called Takikawa protocol, and use it to identify which type annotations have the greatest effects on performance. In particular, we show how graphing the performance of such benchmarks when varying which type annotations are present in the source code can be used to discern potential patterns in performance. We demonstrate our approach by testing the Moth virtual machine: for many of the benchmarks where Moths transient type checking impacts performance, we have been able to identify one or two specific type annotations that are the likely cause. Without these type annotations, the performance impact of transient type checking becomes negligible. Using our technique programmers can optimise programs by removing expensive type checks, and VM engineers can identify new opportunities for compiler optimisation.
Transient gradual typing imposes run-time type tests that typically cause a linear slowdown in programs performance. This performance impact discourages the use of type annotations because adding types to a program makes the program slower. A virtual
Context: Computational notebooks are a contemporary style of literate programming, in which users can communicate and transfer knowledge by interleaving executable code, output, and prose in a single rich document. A Domain-Specific Language (DSL) is
Bredon has constructed a 2-dimensional compact cohomology manifold which is not homologically locally connected, with respect to the singular homology. In the present paper we construct infinitely many such examples (which are in addition metrizable spaces) in all remaining dimensions $n ge 3$.
Hurewicz proved completely metrizable Menger spaces are /sigma-compact. We extend this to Cech-complete Menger spaces and consistently to projective Menger metrizable spaces. On the other hand, it is consistent that there is a co-analytic Menger space that is not /sigma-compact.
We show that the classical example $X$ of a 3-dimensional generalized manifold constructed by van Kampen is another example of not homologically locally connected (i.e. not HLC) space. This space $X$ is not locally homeomorphic to any of the compact