tag:blogger.com,1999:blog-9149523927864751087.post2101391427228595476..comments2022-10-03T14:43:38.708-07:00Comments on Small Datum: Better vs optimalMark Callaghanhttp://www.blogger.com/profile/09590445221922043181noreply@blogger.comBlogger5125tag:blogger.com,1999:blog-9149523927864751087.post-9237649358400687402020-10-21T19:57:06.525-07:002020-10-21T19:57:06.525-07:00Definitely true for algorithms. But harder to appl...Definitely true for algorithms. But harder to apply to systems composed of several algorithms, caching, non-uniform distribution and so many constant factors.Mark Callaghanhttps://www.blogger.com/profile/09590445221922043181noreply@blogger.comtag:blogger.com,1999:blog-9149523927864751087.post-34631411504358085142020-10-21T16:49:02.557-07:002020-10-21T16:49:02.557-07:00I think 'optimal' generally means 'sta...I think 'optimal' generally means 'state of the art' for a given algorithm, or comparison of algorithms. Just recently a more 'optimal' algorithm was discovered for the 'travelling salesperson' problem, for example, but that does not more that a more optimal solution won't be discovered in the futureJustin Swanharthttps://www.blogger.com/profile/08193089637089861226noreply@blogger.comtag:blogger.com,1999:blog-9149523927864751087.post-72920131604571830502020-10-16T07:17:04.518-07:002020-10-16T07:17:04.518-07:00I have also read several papers that provide a mod...I have also read several papers that provide a model of the system and then show optimality within the model. I like that and have learned both from the model and then the math techniques to show optimality. Models are useful even when not perfect.Mark Callaghanhttps://www.blogger.com/profile/09590445221922043181noreply@blogger.comtag:blogger.com,1999:blog-9149523927864751087.post-15409451050111446072020-10-15T20:29:37.785-07:002020-10-15T20:29:37.785-07:00Thank you. I hope there will be more posts about t...Thank you. I hope there will be more posts about the history of NDB.Mark Callaghanhttps://www.blogger.com/profile/09590445221922043181noreply@blogger.comtag:blogger.com,1999:blog-9149523927864751087.post-80986317413750708922020-10-15T13:52:07.357-07:002020-10-15T13:52:07.357-07:00Optimal in a generic term probably never happens, ...Optimal in a generic term probably never happens, so guess that should never be used :) I have had a few cases in my life where I felt that I had achieved the optimal performance. One case was in building a networking product where I defined optimality as always achieving to handle the interrupts before they were gone. There was 2 RS 485 interrupts per 88 microseconds and 2 RS 232 interrupts per 500 microseconds and the CPU was running at a clock speed of 1 MHz with most instructions consuming 2-5 cycles.<br /><br />The second case was in building an interpreter where I felt that I achieved an optimal implementation in the context of an interpreter not doing any major compilation efforts. Obviously in a wider definition a just-in-time compiler can far outperform such an interpreter, but in my narrow definition of implementing an interpreter I felt that I achieved an optimal implementation.<br /><br />Within NDB I have been getting close to an optimal implementation, obviously again this optimality is under the condition that one has to implement things the way I decided to do in NDB, in the specific architecture selected, with the selected data structures and so forth.<br /><br />So under specific conditions optimality can be achieved, but I don't think any computer program can live up to the conditions stated in your<br />blog, this can only happen with narrow mathematical problems. So for me optimality is more when I feel satisfied that I have done everything possible to achieve the best performance under the conditions I decided.<br /><br />At reaching such a point one is ready to move on either to a new project or by redefining the conditions.Mikael Ronstromhttps://www.blogger.com/profile/07134215866292829917noreply@blogger.com