Add missing multiplication by sizeof(T)

This commit is contained in:
Peter Dimov
2022-03-08 02:06:21 +02:00
parent 470c9ffed0
commit 3d62482fe9
3 changed files with 9 additions and 9 deletions

View File

@ -200,7 +200,7 @@ template<class T> struct allocator
T* allocate( std::size_t n ) const T* allocate( std::size_t n ) const
{ {
s_alloc_bytes += n; s_alloc_bytes += n * sizeof(T);
s_alloc_count++; s_alloc_count++;
return std::allocator<T>().allocate( n ); return std::allocator<T>().allocate( n );
@ -208,7 +208,7 @@ template<class T> struct allocator
void deallocate( T* p, std::size_t n ) const noexcept void deallocate( T* p, std::size_t n ) const noexcept
{ {
s_alloc_bytes -= n; s_alloc_bytes -= n * sizeof(T);
s_alloc_count--; s_alloc_count--;
std::allocator<T>().deallocate( p, n ); std::allocator<T>().deallocate( p, n );
@ -392,7 +392,7 @@ int main()
for( auto const& x: times ) for( auto const& x: times )
{ {
std::cout << std::setw( 30 ) << ( x.label_ + ": " ) << std::setw( 5 ) << x.time_ << " ms, " << std::setw( 8 ) << x.bytes_ << " bytes in " << x.count_ << " allocations\n"; std::cout << std::setw( 30 ) << ( x.label_ + ": " ) << std::setw( 5 ) << x.time_ << " ms, " << std::setw( 9 ) << x.bytes_ << " bytes in " << x.count_ << " allocations\n";
} }
} }

View File

@ -216,7 +216,7 @@ template<class T> struct allocator
T* allocate( std::size_t n ) const T* allocate( std::size_t n ) const
{ {
s_alloc_bytes += n; s_alloc_bytes += n * sizeof(T);
s_alloc_count++; s_alloc_count++;
return std::allocator<T>().allocate( n ); return std::allocator<T>().allocate( n );
@ -224,7 +224,7 @@ template<class T> struct allocator
void deallocate( T* p, std::size_t n ) const noexcept void deallocate( T* p, std::size_t n ) const noexcept
{ {
s_alloc_bytes -= n; s_alloc_bytes -= n * sizeof(T);
s_alloc_count--; s_alloc_count--;
std::allocator<T>().deallocate( p, n ); std::allocator<T>().deallocate( p, n );
@ -330,7 +330,7 @@ int main()
for( auto const& x: times ) for( auto const& x: times )
{ {
std::cout << std::setw( 25 ) << ( x.label_ + ": " ) << std::setw( 5 ) << x.time_ << " ms, " << std::setw( 8 ) << x.bytes_ << " bytes in " << x.count_ << " allocations\n"; std::cout << std::setw( 25 ) << ( x.label_ + ": " ) << std::setw( 5 ) << x.time_ << " ms, " << std::setw( 9 ) << x.bytes_ << " bytes in " << x.count_ << " allocations\n";
} }
} }

View File

@ -216,7 +216,7 @@ template<class T> struct allocator
T* allocate( std::size_t n ) const T* allocate( std::size_t n ) const
{ {
s_alloc_bytes += n; s_alloc_bytes += n * sizeof(T);
s_alloc_count++; s_alloc_count++;
return std::allocator<T>().allocate( n ); return std::allocator<T>().allocate( n );
@ -224,7 +224,7 @@ template<class T> struct allocator
void deallocate( T* p, std::size_t n ) const noexcept void deallocate( T* p, std::size_t n ) const noexcept
{ {
s_alloc_bytes -= n; s_alloc_bytes -= n * sizeof(T);
s_alloc_count--; s_alloc_count--;
std::allocator<T>().deallocate( p, n ); std::allocator<T>().deallocate( p, n );
@ -330,7 +330,7 @@ int main()
for( auto const& x: times ) for( auto const& x: times )
{ {
std::cout << std::setw( 25 ) << ( x.label_ + ": " ) << std::setw( 5 ) << x.time_ << " ms, " << std::setw( 8 ) << x.bytes_ << " bytes in " << x.count_ << " allocations\n"; std::cout << std::setw( 25 ) << ( x.label_ + ": " ) << std::setw( 5 ) << x.time_ << " ms, " << std::setw( 9 ) << x.bytes_ << " bytes in " << x.count_ << " allocations\n";
} }
} }