Smalltalk-80: bits of history, words of advice
Smalltalk-80: bits of history, words of advice
SOAR: Smalltalk without bytecodes
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
The design and evaluation of a high performance Smalltalk system
The design and evaluation of a high performance Smalltalk system
Dynamic grouping in an object-oriented virtual memory hierarchy
European conference on object-oriented programming on ECOOP '87
Tags and type checking in LISP: hardware and software approaches
ASPLOS II Proceedings of the second international conference on Architectual support for programming languages and operating systems
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
An efficient implementation of SELF a dynamically-typed object-oriented language based on prototypes
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Cache performance of the integer SPEC benchmarks on a RISC
ACM SIGARCH Computer Architecture News
An analysis of MIPS and SPARC instruction set utilization on the SPEC benchmarks
ASPLOS IV Proceedings of the fourth international conference on Architectural support for programming languages and operating systems
Making pure object-oriented languages practical
OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages, and applications
The SPARC architecture manual: version 8
The SPARC architecture manual: version 8
Cache behavior of combinator graph reduction
ACM Transactions on Programming Languages and Systems (TOPLAS)
Caching considerations for generational garbage collection
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
Cache write policies and performance
ISCA '93 Proceedings of the 20th annual international symposium on computer architecture
Memory subsystem performance of programs using copying garbage collection
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Cache performance of garbage-collected programs
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Optimizing dynamically-dispatched calls with run-time type feedback
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Reduced instruction set computers
Communications of the ACM - Special section on computer architecture
Optimizing Dynamically-Typed Object-Oriented Languages With Polymorphic Inline Caches
ECOOP '91 Proceedings of the European Conference on Object-Oriented Programming
Architecture of SOAR: Smalltalk on a RISC
ISCA '84 Proceedings of the 11th annual international symposium on Computer architecture
CACHE PERFORMANCE OF GARBAGE-COLLECTED PROGRAMMING LANGUAGES
CACHE PERFORMANCE OF GARBAGE-COLLECTED PROGRAMMING LANGUAGES
Adaptive Optimization for SELF: Reconciling High Performance with Exploratory Programming
Adaptive Optimization for SELF: Reconciling High Performance with Exploratory Programming
Aspects of Cache Memory and Instruction
Aspects of Cache Memory and Instruction
Shade: A Fast Instruction Set Simulator for Execution Profiling
Shade: A Fast Instruction Set Simulator for Execution Profiling
The direct cost of virtual function calls in C++
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
The structure and performance of interpreters
Proceedings of the seventh international conference on Architectural support for programming languages and operating systems
Efficient dynamic dispatch without virtual function tables: the SmallEiffel compiler
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Hardware/software codesign in neo smalltalk
OOPSLA '03 Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
The DaCapo benchmarks: java benchmarking development and analysis
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Proceedings of the third ACM SIGPLAN conference on History of programming languages
Hi-index | 0.00 |
Previous studies have shown that object-oriented programs have different execution characteristics than procedural programs, and that special object-oriented hardware can improve performance. The results of these studies may no longer hold because compiler optimizations can remove a large fraction of the differences. Our measurements show that SELF programs are more similar to C programs than are C++ programs, even though SELF is much more radically object-oriented than C++ and thus should differ much more from C.Furthermore, the benefit of tagged arithmetic instructions in the SPARC architecture (originally motivated by Smalltalk and Lisp implementations) appears to be small. Also, special hardware could hardly reduce message dispatch overhead since dispatch sequences are already very short. Two generic hardware features, instruction cache size and data cache write policy, have a much greater impact on performance.