troubleshooting Question

Need help speeding up a search function...

Avatar of Unimatrix_001
Unimatrix_001Flag for United Kingdom of Great Britain and Northern Ireland asked on
C++
28 Comments2 Solutions311 ViewsLast Modified:
Hi,

See the attached code, I'm needing this to be as fast as possible - if you can see any improvements I could make I'd be very grateful.

Thanks,
Uni
unsigned int countNeedles(vector<unsigned char> &aHaystack, vector<unsigned char> &aNeedle){
	vector<unsigned char>::iterator resultPointer=aHaystack.begin();
	unsigned int occurences=0;
	while(true){
		resultPointer=search(resultPointer, aHaystack.end(), aNeedle.begin(), aNeedle.end());
		if(resultPointer==aHaystack.end()){
			break;
		}else{
			resultPointer+=aNeedle.size();
			occurences++;
		}
	}
	return occurences;
}
Join the community to see this answer!
Join our exclusive community to see this answer & millions of others.
Unlock 2 Answers and 28 Comments.
Join the Community
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 2 Answers and 28 Comments.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros