Object combining tries to put objects together that have roughly the same life times in order to reduce strain on the memory manager and to reduce the number of pointer indirections during a program's execution. O...
详细信息
ISBN:
(纸本)9781581135992
Object combining tries to put objects together that have roughly the same life times in order to reduce strain on the memory manager and to reduce the number of pointer indirections during a program's execution. Object combining works by appending the fields of one object to another, allowing allocation and freeing of multiple objects with a single heap (de)allocation. Unlike object in-lining, which will only optimize objects where one has a (unique) pointer to another, our optimization also works if there is no such relation. Object inlining also directly replaces the pointer by the inlined object's fields. Object combining leaves the pointer in place to allow more combining. Elimination of the pointer accesses is implemented in a separate compiler optimization pass. Unlike previous object inlining systems, reference field overwrites are allowed and handled, resulting in much more aggressive optimization. Our object combining heuristics also allow unrelated objects to be combined, for example those allocated inside a loop;recursive data structures (linked lists, trees) can be allocated several at a time and objects that are always used together can be combined. The main focus of object combining in this paper is on reducing object (de)allocation overhead, by reducing both garbage collection work and the number of object allocations. Reduction of memory management overhead causes execution time to be reduced by up to 35%. Indirection removal further reduces execution time by up to 6%.
Most conventional design processes produce documentation as a by-product: design is done within an environment or collection of tools and the design outputs, models, diagrams, results, etc are gathered together along ...
详细信息
The issues to support java RMI over Bluetooth environments were investigated. In the experiment, the robustness of the implementation of RMI software over Bluetooth environments was evaluated. Thus, experiments of num...
详细信息
The issues to support java RMI over Bluetooth environments were investigated. In the experiment, the robustness of the implementation of RMI software over Bluetooth environments was evaluated. Thus, experiments of numerous benchmarks from RMI Benchmark Suite, DHPC java Benchmarks, and the java Grande Forum MPJ Benchmarks were performed.
We propose a profile based code selection scheme for an AOT java compiler. This scheme relies on a model that accurately predicts the speedup of a given selection. The model takes into account the cross-call patterns ...
详细信息
This panel reflects the experiences of several faculty who each use a different java Interactive Development Environment (IDE). Panelists will discuss the salient features of the IDEs that are used at their particular...
详细信息
This panel reflects the experiences of several faculty who each use a different java Interactive Development Environment (IDE). Panelists will discuss the salient features of the IDEs that are used at their particular institutions. Each panelist will discuss system requirements, ease of installation, strengths and weaknesses of each IDE and pointers for successful adaptation to the classroom.
Interpreters play an important role in many languages, and their performance is critical particularly for the popular languagejava. The performance of the interpreter is important even for high-performance virtual ma...
详细信息
Interpreters play an important role in many languages, and their performance is critical particularly for the popular languagejava. The performance of the interpreter is important even for high-performance virtual machines that employ just-in-time compiler technology, because there are advantages in delaying the start of compilation and in reducing the number of the target methods to be compiled. Many techniques have been proposed to improve the performance of various interpreters, but none of them has fully addressed the issues of minimizing redundant memory accesses and the overhead of indirect branches inherent to interpreters running on superscalar processors. These issues are especially serious for java because each bytecode is typically one or a few bytes long and the execution routine for each bytecode is also short due to the low-level, stack-based semantics of java bytecode. In this paper, we describe three novel techniques of our java bytecode interpreter, write-through top-of-stack caching (WT), position-based handler customization (PHC), and position-based speculative decoding (PSD), which ameliorate these problems for the PowerPC processors. We show how each technique contributes to improving the overall performance of the interpreter for major java benchmark programs on an IBM POWER3 processor. Among three, PHC is the most effective one. We also show that the main source of memory accesses is due to bytecode fetches and that PHC successfully eliminates the majority of them, while it keeps the instruction cache miss ratios small. Copyright 2002 ACM.
Microsoft has developed a language called C# ("see sharp") that it claims will allow programmers to "quickly and easily build solutions" for its *** platform. The language has much in common with J...
详细信息
ISBN:
(纸本)1581134991
Microsoft has developed a language called C# ("see sharp") that it claims will allow programmers to "quickly and easily build solutions" for its *** platform. The language has much in common with java, particularly in those features emphasized in CS1 and CS2 courses. It also includes some of the desirable features of C++ that are missing from java as well as some new features not available in either language. This paper explores the pros and cons of teaching CS1 and CS2 using C# instead of java and concludes with a discussion of the author's plans for teaching such a course in the fell of 2002.
This tutorial is for advanced simulation developers engaged in the use of object-oriented programminglanguages and libraries that support object-oriented, discrete-event simulation. The tutorial is based on generic s...
详细信息
This tutorial is for advanced simulation developers engaged in the use of object-oriented programminglanguages and libraries that support object-oriented, discrete-event simulation. The tutorial is based on generic structure of the OpenSML simulation libraries in the .Net languages ***, C# and J# and the Silk libraries in java. The focus of the tutorial is on the use of consistent design patterns that encourage usability, reusability and cross-language compatibility. Particular emphasis is placed on designing and coding object-oriented simulation models to properly transfer simulation control between entities, resources and system controllers, and on techniques for obtaining a one-to-one correspondence between simulation code and system behavior.
We introduce SSJ, an organized set of software tools implemented in the java programming language and. offering general-purpose facilities for stochastic simulation programming. It supports the event view, process vie...
详细信息
ISBN:
(纸本)0780376145
We introduce SSJ, an organized set of software tools implemented in the java programming language and. offering general-purpose facilities for stochastic simulation programming. It supports the event view, process view, continuous simulation, and arbitrary mixtures of these. Performance, flexibility, and extensibility were key criteria in its design and implementation. We illustrate its use by simple examples and discuss how we dealt with some performance issues in the implementation.
The combination of full subsumption and conditional expression is a challenging problem, because in such a system, a term might not have a type which is a representative of all types of the term. Therefore, the tradit...
详细信息
ISBN:
(纸本)1581135289
The combination of full subsumption and conditional expression is a challenging problem, because in such a system, a term might not have a type which is a representative of all types of the term. Therefore, the traditional type checking technique fails. Due to such a difficulty, java typing rule for if-expression uses only a restricted form of subtyping. In this paper, we propose a type system which includes both of the above mentioned features and enjoys decidable type checking. We also show that the system has the subject reduction property. It is expected that this technique could be used to improve the type system of java with full subsumption.
暂无评论