15 citations found. Retrieving documents...
Scott Meyers. More Effective C++. Addison-Wesley, 1996.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Composing High-Performance Memory Allocators - Berger, Zorn, McKinley (2001)   (2 citations)  (Correct)

....of allocation time with the system allocator (which cannot directly be substituted because of the semantics of the custom allocator) This and the other programs in this paper were compiled with Visual C 6.0 and run under Windows 2000 on a 366 MHz Pentium II system. skilled computer programmers [8, 18]. Unfortunately, this kind of code is brittle and hard to maintain or reuse, and as the application evolves, it can be difficult to adapt the memory allocator as needs change (e.g. to a multithreaded environment) In addition, writing these allocators is both error prone and difficult. Good ....

.... received recent attention as a method for improving locality [23] Aiken and Gay have developed safe regions which delay region deletion when live objects are present [11] Techniques for building other application specific custom allocators have received extensive attention in the popular press [8, 18]. 2.3 Memory Management Infrastructures We know of only two previous infrastructures for building memory managers: vmalloc, by Vo, and CMM, by Attardi, Flagella, and Iglio. We describe the key differences between their systems and ours, focusing on the performance and flexibility advantages that ....

Scott Meyers. More Effective C++. Addison-Wesley, 1997.


Reconsidering Custom Memory Allocation - Berger, Zorn, McKinley (2001)   (1 citation)  (Correct)

....patterns of memory usage to manage memory more efficiently than a general purpose memory allocator. For instance, 197.parser runs over 60 faster with its custom allocator than with the Windows XP allocator [2] Numerous books and articles recommend custom allocators as an optimization technique [4, 20, 21]. The use of custom memory allocators is widespread, including the Apache web server [1] the GCC compiler [9] three of the SPECint2000 benchmarks [28] and This work is supported by NSF ITR grant CCR 0085792, NSF grant ACI 9982028, NSF grant EIA 9726401, Darpa grant 5 21425, Darpa grant ....

....optimization technique. Bulka and Mayhew devote two entire chapters to the development of a number of custom memory allocators [4] Meyers describes in detail the use of a freelist based per class custom allocator in Effective C [19] and returns to the topic of custom allocators in the sequel [20]. Milewski also discusses per class allocators as an optimization technique [21] Hanson devotes a chapter to an im1 plementation of regions ( arenas ) citing both the speed and software engineering benefits of regions as motivation [15] Ellis and Stroustrup describe the syntactic facilities ....

Scott Meyers. More Effective C++. Addison-Wesley, 1997.


Destruction-Managed Singleton: a compound pattern for reliable.. - Gabrilovich (2000)   (2 citations)  (Correct)

....exception will be thrown. It is dangerous for this exception to leave the destructor, for if the latter was invoked during stack unwinding due to an exception thrown earlier, function terminate( will be immediately called, aborting the application [7] This situation is discussed in [5]. Listing 8. Sample resource definition (logger.cxx) #include iostream #include string #include dphase.h #include destructor.h #include logger.h using namespace std; Logger: LoggerPtr Logger: get instance( static LoggerPtr the logger(new Logger) return the logger; ....

Meyers, S. "More Effective C++", Addison Wesley, 1996.


Design Patterns by Example - Mitchener (1997)   (1 citation)  (Correct)

....and call SetOwnership( This action is usually harmless, but if you use this class, you should be aware of it. This class is very similar to the auto ptr class, which is probably going to be included in the Standard Template Library. For a good discussion of the smart pointer idiom in C , see [3]. 4.3 Encapsulating actions 4.3.1 Intent To encapsulate actions and the means of passing them the information they need. 4.3.2 Motivation and reformulation Many activities in a program are event driven. That is, the program is supposed to perform some action when a particular condition ....

Scott Meyers. More Effective C++. Addison-Wesley, 1996. 54


On the Design of CGAL, a Computational Geometry.. - Fabri, Giezeman.. (1999)   (7 citations)  (Correct)

....representation counts the number of objects pointing to it. Copying objects increments the counter of the shared representation, deleting an object decrements the counter of its representation. If the counter reaches zero by the decrement, the representation itself is deleted, see e.g. Item 29 in [49] for further information. The implementation of reference counting is simplified by the non modifiability of the objects. However, the use of reference counting was not the reason for choosing non modifiability. Using copy on write (a new representation is created for an object whenever its ....

....could lead to more efficient computation if we assume that points are always implemented with Cartesian coordinates. However, as discussed in the section on the kernel layer, this would restrict flexibility. An interesting issue concerning efficiency is reference counting, see, e.g. References [49] and [59] Reference counting can be a source of efficiency, time efficiency as well as space efficiency, since fewer copies of an object are necessary. However, especially if the objects are small and copies are rarely made, there are scenarios where reference counting slows down the computation, ....

Scott Meyers, More Effective C++, Addison-Wesley, 1996.


A Pattern Language for Reverse Engineering - Demeyer, Ducasse, Tichelaar (1999)   (1 citation)  (Correct)

....code. Take notes sparingly to maximize the contact with the code. After this reading time, take about the same time to produce a report about your findings, including list of (i) the important entities (i.e. classes, packages, ii) the coding idioms applied (i.e. C [Cop92] Mey98] Mey96] Smalltalk [Bec97] and (iii) the suspicious coding styles discovered (i.e. code smells [Fow99] Keep this report short, and name the entities like they are mentioned in the source code. Hints. The fact that you are limited in time should force you to think how you can extract the most ....

S. Meyers. More Effective C++. Addison-Wesley, 1996.


A Pattern Language for Reverse Engineering - Demeyer, Ducasse, Tichelaar (1999)   (1 citation)  (Correct)

....code. Take notes sparingly to maximize the contact with the code. After this reading time, take about the same time to produce a report about your findings, including list of (i) the important entities (i.e. classes, packages, ii) the coding idioms applied (i.e. C [Cop92] Mey98] Mey96] Smalltalk [Bec97] and (iii) the suspicious coding styles discovered (i.e. code smells [Fow99] Keep this report short, and name the entities like they are mentioned in the source code. Hints. The fact that you are limited in time should force you to think how you can extract the most ....

S. Meyers. More Effective C++. Addison-Wesley, 1996.


Smallest Enclosing Ellipses - An Exact and Generic.. - Gärtner, Schönherr (1998)   (Correct)

....public: Access functions and predicates Min ellipse 2 access functions number of . 10] Min ellipse 2 predicates is . 13] Smallest Enclosing Ellipses An Exact and Generic Implementation in C 25 Min ellipse 2 access functions [11] Min ellipse 2 predicates [14] private: Private member functions Min ellipse 2 private member function compute ellipse [24] Min ellipse 2 private member function me [25] public: Constructors Min ellipse 2 constructors [7] Destructor ....

....and #support points inline int numberofpoints( const return( points.size( inline int numberofsupportpoints( const return( nsupportpoints) g This macro is invoked in definition 2. Then, we have the access functions for points and support points. Min ellipse 2 access functions [11] j f access to points and support points inline Pointiterator pointsbegin( const return( points.begin( Smallest Enclosing Ellipses An Exact and Generic Implementation in C 35 inline Pointiterator pointsend( const return( points.end( inline Supportpointiterator ....

[Article contains additional citation context not shown here]

S. Meyers. More Effective C++. Addison-Wesley, 1996.


On the Design of CGAL, the Computational Geometry.. - Fabri, Giezeman.. (1998)   (7 citations)  (Correct)

....However, the access functions are added to make implementing own predicates and operations more convenient. Like other libraries [BV96, Kef96, MNU97] we use a reference counting scheme for the kernel objects. The use of reference counting (copies of an object share a representation) see e.g. Mey96] for motivation and use, is simplified by the non modifiability, but not the reason for having non modifiability. Using copy on write , reference counting with modifiable objects is possible and only slightly more involved. 8 Basic Library The basic library of Cgal contains more complex ....

....kernel objects. Modifiability could lead to more efficient computation if we would assume points always implemented with Cartesian coordinates. However, as discussed in Section 7, this would restrict flexibility. An interesting issue concerning efficiency is reference counting, see e.g. Mur93, Mey96] Reference counting can be a source of efficiency, time efficiency as well as space efficiency due to fewer copies of an object. However, especially if the objects are small and copies made rarely, there are scenarios, where reference counting slows down the computation, especially if no memory ....

Scott Meyers. More Effective C++. Addison-Wesley, 1996.


Applications of the Generic Programming Paradigm.. - Brönnimann.. (1998)   (Correct)

....Figure 1. Running times of a cgal implementation of the Graham scan algorithm with different geometry kernels. The kernels labelled C and H are instantiations of the Cartesian and homogeneous cgal kernels resp. with the number type argument in angle brackets. Both use reference counting [17]. The goal is to speed up copying operations at the cost of an indirection in accessing data. The kernels labelled S use Cartesian coordinates as well but no reference counting. The kernels labelled V are similar to the S kernels, but more Java like: all access functions are virtual and ....

S. Meyers. More Effective C++. Addison-Wesley, 1996.


Smallest Enclosing Circles - An Exact and Generic.. - Gärtner, Schönherr (1998)   (Correct)

....been computed (or given otherwise) mc(P ) can easily be reconstructed from S in constant time. To make this reconstruction more convenient, a constructor is available for each size of jSj, ranging from 0 to 3. For jSj = 0, we get the default constructor, building mc( Min circle 2 constructors [8] j f default constructor inline CGALMincircle2( const Traits traits = Traits( tco( traits) nsupportpoints( 0) Smallest Enclosing Circles An Exact and Generic Implementation in C 29 allocate support points array supportpoints = new Point[ 3] initialize circle ....

S. Meyers. More Effective C++. Addison-Wesley, 1996.


Pattern Hatching - To Code or Not to Code, Part I - Vlissides, Alexandrescu (2000)   Self-citation (Meyers)   (Correct)

No context found.

Meyers, S. More Effective C++, Addison--Wesley, Reading, MA, 1996, pp. 130--145.


.3 Advanced Case Study: Gates, Circuits, and Design Patterns - In This Section   (Correct)

No context found.

Scott Meyers. More Effective C++. Addison-Wesley, 1996.


Pattern Hatching - VISITOR in Frameworks - Vlissides (1999)   (Correct)

No context found.

Meyers, S. More Effective C++, Addison--Wesley, Reading, MA, 1996, pp. 258--270.


Fusion-Based Register Allocation - Lueh, Gross, Adl-Tabatabai (1997)   (1 citation)  (Correct)

No context found.

S. Meyers. More Effective C++. Addison-Wesley, 1996.

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC