Space-and time-efficient implementation of the Java']Java object model

被引:0
|
作者
Bacon, DF [1 ]
Fink, SJ [1 ]
Grove, D [1 ]
机构
[1] IBM Corp, Thomas J Watson Res Ctr, Yorktown Hts, NY 10598 USA
来源
关键词
D O I
暂无
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
While many object-oriented languages impose space overhead of only one word per object to support features like virtual method dispatch, Java's richer functionality has led to implementations that require two or three header words per object. This splice overhead increases memory usage and attendant garbage collection costs, reduces cache locality, and constrains programmers who might naturally solve a problem by using large numbers of small objects. In this paper, we show that with careful engineering a high-performance virtual machine can instantiate most Java objects with only a single-word object header. The single header word provides fast access to the virtual method table, allowing for quick method invocation. The implementation represents other per-object data (lock state, hash code, and garbage collection flags) using heuristic compression techniques. The heuristic retains two-word headers, containing thin lock state, only for objects that have synchronized methods. We describe the implementation of various object models in the IBM Jikes Research Virtual Machine, by introducing a pluggable object model abstraction into the virtual machine implementation. We compare an object model with a two-word header with three different object models with single-word headers, Experimental results show that the object header compression techniques give a mean space savings of 7%, with savings of up to 21%. Compared to the two-word headers, the compressed space-encodings result in application speedups ranging from -1.5% to +2.2%. Performance on synthetic micro-benchmarks ranges from +23% due to benefits from reduced object size, to -12% on a stress test of virtual method invocation.
引用
收藏
页码:111 / 132
页数:22
相关论文
共 50 条
  • [41] A real-time Java']Java component model
    Plsek, Ales
    Merle, Philippe
    Seinturier, Lionel
    ISORC 2008: 11TH IEEE SYMPOSIUM ON OBJECT/COMPONENT/SERVICE-ORIENTED REAL-TIME DISTRIBUTED COMPUTING - PROCEEDINGS, 2008, : 281 - 288
  • [42] The design and performance of the jRate real-time Java']Java implementation
    Corsaro, A
    Schmidt, DC
    ON THE MOVE TO MEANINGFUL INTERNET SYSTEMS 2002: COOPLS, DOA, AND ODBASE, 2002, 2519 : 900 - 921
  • [43] Accurate and efficient object tracing for java applications
    Institute for System Software, Johannes Kepler University Linz, Austria
    不详
    ICPE - Proc. ACM/SPEC Int. Conf. Perform. Eng., (51-62):
  • [44] Object model in Java: elements and application
    Kuwait University, Dept. of Elec. and Comp. Engineering, P.O. Box 5969, 13060 Safat, Kuwait
    Inf Software Technol, 1600, 4 (235-241):
  • [45] Temporal uncertainty time warp: An implementation based on Java']Java and ActorFoundry
    Beraldi, R
    Nigro, L
    Orlando, A
    SIMULATION-TRANSACTIONS OF THE SOCIETY FOR MODELING AND SIMULATION INTERNATIONAL, 2003, 79 (10): : 581 - 597
  • [46] Hard real-time implementation of embedded software in JAVA']JAVA
    Talpin, JP
    Gamatié, A
    Berner, D
    Le Dez, B
    Le Guernic, P
    SCIENTIFIC ENGINEERING OF DISTRIBUTED JAVA APPLICATIONS, 2004, 2952 : 33 - 47
  • [47] Efficient Java']Java implementation of image cloning method based on gradient processing
    Forero, Manuel G.
    Navarro, Andres F.
    APPLICATIONS OF DIGITAL IMAGE PROCESSING XLIV, 2021, 11842
  • [48] A switchable approach to large object allocation in real-time Java']Java
    Sahin, Veysel Harun
    Kocabicak, Umit
    TURKISH JOURNAL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCES, 2016, 24 (02) : 398 - 411
  • [49] Towards predictable real-time Java']Java object request brokers
    Krishna, AS
    Klefstad, R
    Schmidt, DC
    Corsaro, A
    9TH IEEE REAL-TIME AND EMBEDDED TECHNOLOGY AND APPLICATIONS SYMPOSIUM, PROCEEDINGS, 2003, : 49 - 56
  • [50] A low-overhead and efficient Java']Java object profiler on ART virtual machine
    Wang, Fei
    Shi, Xiaohua
    Lu, Xinghai
    JOURNAL OF INTELLIGENT & FUZZY SYSTEMS, 2018, 35 (03) : 2997 - 3009