Home » U++ Library support » U++ Core » Writing Bits object to disk
Re: Writing Bits object to disk [message #47935 is a reply to message #47933] |
Tue, 25 April 2017 10:31 |
|
mirek
Messages: 13975 Registered: November 2005
|
Ultimate Member |
|
|
crydev wrote on Tue, 25 April 2017 09:36A ran the following code in a performance test 100,000 times.
// Original function implementing Vector<bool>.
const int VectorBoolOrBitsetTestOriginal(bool* const buffer, const bool* const rand)
{
int x = 0;
for (int i = 0; i < 4096; ++i)
{
if (rand)
{
++x;
}
buffer[i] = rand;
}
return x;
}
// Different function implementing Bits.
const int VectorBoolOrBitsetTestBitSet(Bits& buffer, const bool* const rand)
{
int x = 0;
for (int i = 0; i < 4096; ++i)
{
if (rand)
{
++x;
}
buffer.Set(i, rand);
}
return x;
}
// Different function implementing std::bitset.
const int VectorBoolOrBitsetTestStdBitSet(std::bitset<4096>& buffer, const bool* const rand)
{
int x = 0;
for (int i = 0; i < 4096; ++i)
{
if (rand)
{
++x;
}
buffer.set(i, rand);
}
return x;
}
The result is as follows, Bits being approximately a factor 10 slower. std::bitset already seems to be a twice as fast:
crydev
The first quick observation of Bits code (after all these years) reveals that there are pretty good oportunities to optimize this. Woohoo, optimization time!
BTW, could you please post me your benchamrk package zipped? Would save me a bit of time.
Also, I am still undecided about correct interface to expose raw data. Currectly I am thinking along something like:
const byte *ReadRaw(int& count_of_bytes);
byte *WriteRaw(int count_of_bytes);
WriteRaw would make sure that there is at least count bytes available for bits (without reallocating array down).
Mirek
|
|
|
|
|
Writing Bits object to disk
By: crydev on Wed, 11 January 2017 17:07
|
|
|
Re: Writing Bits object to disk
By: mr_ped on Thu, 12 January 2017 01:20
|
|
|
Re: Writing Bits object to disk
By: crydev on Thu, 12 January 2017 09:03
|
|
|
Re: Writing Bits object to disk
By: mirek on Fri, 13 January 2017 08:39
|
|
|
Re: Writing Bits object to disk
By: crydev on Wed, 18 January 2017 08:51
|
|
|
Re: Writing Bits object to disk
By: crydev on Mon, 24 April 2017 19:19
|
|
|
Re: Writing Bits object to disk
By: mirek on Mon, 24 April 2017 21:08
|
|
|
Re: Writing Bits object to disk
By: crydev on Tue, 25 April 2017 09:36
|
|
|
Re: Writing Bits object to disk
|
|
|
Re: Writing Bits object to disk
By: mirek on Tue, 25 April 2017 10:31
|
|
|
Re: Writing Bits object to disk
By: mirek on Tue, 25 April 2017 10:34
|
|
|
Re: Writing Bits object to disk
By: crydev on Tue, 25 April 2017 11:37
|
|
|
Re: Writing Bits object to disk
By: mirek on Tue, 25 April 2017 11:59
|
|
|
Re: Writing Bits object to disk
By: mirek on Tue, 25 April 2017 12:38
|
|
|
Re: Writing Bits object to disk
By: crydev on Tue, 25 April 2017 13:35
|
|
|
Re: Writing Bits object to disk
By: mirek on Tue, 25 April 2017 13:39
|
|
|
Re: Writing Bits object to disk
By: crydev on Tue, 25 April 2017 14:03
|
|
|
Re: Writing Bits object to disk
By: mirek on Tue, 25 April 2017 16:40
|
|
|
Re: Writing Bits object to disk
By: crydev on Wed, 26 April 2017 08:27
|
|
|
Re: Writing Bits object to disk
By: crydev on Wed, 26 April 2017 08:50
|
|
|
Re: Writing Bits object to disk
By: mirek on Wed, 26 April 2017 13:38
|
|
|
Re: Writing Bits object to disk
By: crydev on Thu, 27 April 2017 10:31
|
|
|
Re: Writing Bits object to disk
By: mirek on Thu, 27 April 2017 23:50
|
|
|
Re: Writing Bits object to disk
By: crydev on Fri, 28 April 2017 19:04
|
|
|
Re: Writing Bits object to disk
By: mirek on Sat, 29 April 2017 09:05
|
|
|
Re: Writing Bits object to disk
By: omari on Fri, 28 April 2017 19:31
|
|
|
Re: Writing Bits object to disk
By: mirek on Sat, 29 April 2017 09:53
|
|
|
Re: Writing Bits object to disk
By: crydev on Tue, 02 May 2017 22:54
|
|
|
Re: Writing Bits object to disk
By: mirek on Tue, 02 May 2017 23:55
|
|
|
Re: Writing Bits object to disk
By: crydev on Wed, 03 May 2017 09:00
|
|
|
Re: Writing Bits object to disk
By: mirek on Wed, 03 May 2017 09:53
|
|
|
Re: Writing Bits object to disk
By: crydev on Wed, 03 May 2017 11:12
|
|
|
Re: Writing Bits object to disk
By: mirek on Wed, 03 May 2017 11:27
|
|
|
Re: Writing Bits object to disk
By: crydev on Wed, 03 May 2017 12:24
|
|
|
Re: Writing Bits object to disk
By: mirek on Wed, 03 May 2017 12:37
|
|
|
Re: Writing Bits object to disk
By: crydev on Wed, 03 May 2017 18:33
|
|
|
Re: Writing Bits object to disk
By: crydev on Sat, 06 May 2017 10:28
|
|
|
Re: Writing Bits object to disk
By: crydev on Tue, 16 May 2017 09:12
|
|
|
Re: Writing Bits object to disk
By: mirek on Tue, 16 May 2017 10:39
|
|
|
Re: Writing Bits object to disk
By: mirek on Tue, 16 May 2017 13:12
|
|
|
Re: Writing Bits object to disk
By: crydev on Tue, 16 May 2017 20:17
|
Goto Forum:
Current Time: Fri May 03 22:40:17 CEST 2024
Total time taken to generate the page: 0.02603 seconds
|