
On Nov 19, 2007 11:42 AM, apfelmus
Thanks. The interesting case of nested blocks still needs to be specified, but with this description in mind and judging from the code, I guess it behaves as follows: either a block fits entirely on the remaining line (no line breaks inside), or it begins a new line.
Yeah, breakdist does not look inside a block when computing the break distance.
On the strictness annotations, my reasons for them are the usual ones, primarily to prevent memory leaks due to dragging, but a performance boost is always welcome. At some point, I plan to profile the code with and without the annotations, and find out where they are needed.
That seems excessive. Can you really prove that this will prevent space
leaks? I doubt that.
Ooh, I think I overstated my case. I meant to say that for my application, there are just a few data structures, such that if data traceable from them is strictly evaluated, I'm pretty sure I will have no space leaks. Currently it's just an intuition, but when the application is mature, I'll profile and validate this intuition. All I know is it was dog slow without any annotations, and spaying them on the suspect data structures cured that problem. Only careful profiling will tell which of those annotations can be removed. John