Efficient strlen implementation in C (2007)
romain.blogreen.org
romain.blogreen.org
> As you can see, it can be totally transparent for the user. You just have to take care ...
It's that word just that bothers me.
"Programming is simple, you just have to write the code."
"Bug-free programming is easy, you just have to avoid putting bugs in."
Yes, this code "just" requires some care.
But you're right, and it does put the entire article in question. I'm tempted to use this as an interview question:
There's a bug in this code - can you find it? Talk to me about why this is a bad thing to do? How can we fix it? What's the most important thing to be thinking about?
I was also interested to read the follow-up linked to from the bottom of the article, but that's a 404.
> I can't see where that was written
^^^^
To what exactly are you referring by the "that"? > Only that malicious users may read
> past the end.
There's an entire section after that: Reducing complexity
Improvement is not that much effective?
Actually, we are optimizing the wrong way!
Really ;)! When optimizing code, you have
to, in order:
reduce complexity;
tune your compiler;
optimize your code.
So, how can we reduce complexity (Currently
O(n) for both algorithms)? Simply by storing
the string length somewhere! The complexity
is then O(1)
etc.But it's all there, and either you've read it and I don't know what you mean, or you haven't read it, and I've provided the pointer for you.