Nowadays concurrency is a key issue in modern object-oriented programming languages. Billions of objects and object graphs are created at runtime, thus parallelization of object construction may result in signi cant speed-up in applications. In this paper we present di erent scenarios where parallelization seems to be valuable. These scenarios belong to object constructions and to di erent languages. The C++ programming language uses value semantics as basis of objectorientation. Objects can be used as values and C++ o ers copy constructors automatically that copy all members of a class. This operation seems to be ideal for parallelization because independent sources need to be copied to independent targets: without locks, without synchronization problems. We present our concurrent copy construction approach. The Spring Framework is a widely-used application framework and inversion of control container for the Java platform. At application startup the context of a Spring based application must be constructed. This context consists of many rather small objects, called beans. Among them singleton non-lazy beans are created and initialized at startup sequentially which fact increases the startup time. Besides that, Spring can manage a context hierarchy or hierarchy of containers in which each child context can access beans from parent context, but not the other way around, and sibling contexts are separated and invisible for each other. These traits make the child contexts and the independent beans feasible candidates for concurrent creation and initialization.
[1]
Norbert Pataki,et al.
Multicore C++ Standard Template Library in
,
2011
.
[2]
Bjarne Stroustrup,et al.
C++ Programming Language
,
1986,
IEEE Softw..
[3]
Cameron Hughes,et al.
Object-oriented multithreading using C++
,
1998
.
[4]
Scott Oaks,et al.
Java Threads
,
1997
.
[5]
Peter Sewell,et al.
Mathematizing C++ concurrency
,
2011,
POPL '11.
[6]
Andrew Lumsdaine,et al.
ConceptClang: an implementation of C++ concepts in Clang
,
2011,
WGP@ICFP.
[7]
Norbert Pataki,et al.
High-level multicore programming with C++11
,
2012,
Comput. Sci. Inf. Syst..
[8]
Norbert Pataki,et al.
Multicore C++Standard Template Library with C++0x
,
2011
.
[9]
Mooly Sagiv,et al.
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
,
2011,
POPL 2011.
[10]
Norbert Pataki,et al.
Generative Version of the FastFlow Multicore Library
,
2011,
Electron. Notes Theor. Comput. Sci..
[11]
Anand R. Tripathi,et al.
An implementation of the object‐oriented concurrent programming language SINA
,
1989,
Softw. Pract. Exp..