3 research outputs found

    Compiler-Cooperative Memory Management in Java (Extended Abstract)

    No full text
    Dynamic memory management is a known performance bottleneck of Java applications. The problem arises out of the Java memory model in which all objects (non-primitive type instances) are allocated on the heap and reclaimed by garbage collector when they are no longer needed. This paper presents a simple and fast algorithm for inference of object lifetimes. Given the analysis results, a Java compiler is able to generate faster code, reducing the performance overhead. Besides, the obtained information may be then used by garbage collector to perform more effective resource clean-up. Thus, we consider this technique as "compile-time garbage collection" in Java

    Information system for data analysis of electronic operational documentation to support the development of economic processes

    No full text
    The article presents an information system for data analysis of electronic operational documentation, the main purpose of which is the storage, collection and analysis of information, as well as the formation of an expert decision and forecasting to improve the quality of user work and the speed of processing large amounts of information. The functional structure of maintaining operational documentation was considered, a description of data flows and business processes was carried out, and the interaction of decision support systems with the subject area was studied

    Effective Enhancement of Loop Versioning in Java

    No full text
    Run-time exception checking is required by the Java Language Specification (JLS). Though providing higher software reliability, that mechanism negatively affects performance of Java programs, especially those computationally intensive. This paper pursues loop versioning, a simple program transformation which often helps to avoid the checking overhead. Basing upon the Java Memory Model precisely defined in JLS, the work proposes a set of sufficient conditions for applicability of loop versioning. Scalable intra- and interprocedural analyses that efficiently check fulfilment of the conditions are also described. Implemented in Excelsior JET, an ahead-of-time compiler for Java, the developed technique results in significant performance improvements on some computational benchmarks
    corecore