Performance of .NET's BitVector32 is disappointing and having to declare access to (interfaced) variables in interface classes seems to hit performance too.
- Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
- Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!
Thought for the day
Collapse
X
-
-
-
Didn't you talk about BitVector class about a year ago Alexei?
Surely you have moved on since then?Comment
-
Me too. It's exciting moments like this that make one's life worth living.Originally posted by DundeegeorgeI shall carry them in my heart all day tomorrow.
Probably.Comment
-
I once wrote two programs to manipulate maps and lists. The first used STL, the second MFC. Guess which was fastest? Yup. The STL program was twice as fast as the MS one.Originally posted by AtWPerformance of .NET's BitVector32 is disappointing and having to declare access to (interfaced) variables in interface classes seems to hit performance too.
MS are agressive and well marketed, but often not the best. As an example, COM is widely used, and has helped me earn a living. But IMO it can be fiendishly difficult to maintain, especially for those unskilled in the technology. And the debugging support is awful. It's as if MS are creating a demand for geeks with specialist MS knowledge.Comment
-
Perhaps you can be more specific about what is wrong with the BitVector32 class and I'll see if we can fix it for you?Comment
-
Nothing is wrong, its just not as fast as doing bitshifts yourself - it sure is annoying to create bitmasks manually but its a LOT faster - with luck compiler will also inline those shifts, something it definately won't do for normal BitVector32 operations that use indexer - function calls are not cheap on x86.
Now interface really annoyed me by requiring to use accessors for variables (that were declared in interface) - rather annoying since I can't see any good reason for that.Comment
-
You mean this?
public int this[BitVector32.Section section]
{
get
{
return (int) ((this.data & (section.Mask << (section.Offset & 0x1f))) >> (section.Offset & 0x1f));
}
set
{
value = value << (section.Offset & 0x1f);
int num1 = (0xffff & section.Mask) << (section.Offset & 0x1f);
this.data = (uint) ((this.data & ~num1) | (value & num1));
}
}Comment
-
-
That's just stupid. They're both template container classes to help you out, neither are meant to be the best possible solution. If you really wanted performance, you should have used your own classes and optimised it to do exactly what you needed. And we don't know that you're comparing like with like here.Originally posted by FungusI once wrote two programs to manipulate maps and lists. The first used STL, the second MFC. Guess which was fastest? Yup. The STL program was twice as fast as the MS one.
Frankly I've always thought STL was needlessly over complicated, and that the MFC container classes are much easier to use.
Well errr yeah. What's .NET if not a way to generate work for the industry and further their hold on it?It's as if MS are creating a demand for geeks with specialist MS knowledge.Will work inside IR35. Or for food.Comment
- Home
- News & Features
- First Timers
- IR35 / S660 / BN66
- Employee Benefit Trusts
- Agency Workers Regulations
- MSC Legislation
- Limited Companies
- Dividends
- Umbrella Company
- VAT / Flat Rate VAT
- Job News & Guides
- Money News & Guides
- Guide to Contracts
- Successful Contracting
- Contracting Overseas
- Contractor Calculators
- MVL
- Contractor Expenses
Advertisers
Contractor Services
CUK News
- Umbrella, PEO/GPP, or salaried EOR. Which is up 153% in 2026? Yesterday 08:43
- Outside IR35 isn’t making a comeback in 2026/27 — it’s something more complex Aug 5 04:55
- Why contractors keep putting off their pension (and why I'm one of them) Aug 4 02:43
- HMRC loan charge settlement offer: 3 things to check before you sign Aug 3 07:41
- HMRC standstill agreements extended to 72 months: why the term's doubled, and what to check before signing Jul 31 05:53
- Who owns the loans? Inside the mystery of the loan charge recall scandal Jul 30 06:20
- Umbrella company winding-up petitions in 2026: the practical guide for contractors Jul 29 05:29
- Payments on Account deadline: what contractors must do before July 31st — maybe for the final few times Jul 28 08:01
- Andy Burnham's first 100 days: five things contractors need from the new PM Jul 27 00:53
- Starmer vs Burnham on housing: What their rival plans mean for your contractor mortgage Jul 22 00:59

Comment