: 4566 | 108310 | 12308

Rewrite @DBLookup in assembler 
Use this IdeaSpace to post ideas about Domino Designer.

: -29
: 1
: 30
: Domino Designer
: Formula, @Formula
: Mark Demicoli11707 02 Feb 2009
:
: / Email
Might be a stupid idea because I have no idea how well optimised this critical function is.  But throwing a genius at it might yield a fantastic performance improvement.  Surely IBM has some nutters in there with 2 key keyboards (0 & 1) :)



1) Matt White9265 (02 Feb 2009)
Are you finding @DbLookups not performing well then? Often if you do have problems it's down to view design. Generally I am happy with the @DbLookup, although I would like the limits to be extended, but there's already an idea for that: { Link }
2) Mark Demicoli11707 (03 Feb 2009)
@1: You missed the point. If a lookup in a badly designed view takes 10ms and 5ms in a beautifully designed view, both views would experience a 100% improvement if the @DBLookup function was improved by that factor.
3) Lauri Laanti346 (04 Feb 2009)
I think the @Formula engine was rewritten couple years ago. I would assume that this particular function is pretty well optimized for speed.
4) Urs Meli1619 (04 Feb 2009)
I think, if a user would notice a performance gain in a lookup from 10ms to 5ms, than there is something wrong with your application. Maybee tooo many lookups?
5) Karl-Henry Martinsson1587 (09 Feb 2009)
@3: Damien Katz rewrote the whole @Formula engine in Notes 6: { Link }
I am also sure it is pretty well optimized by now.

@Mark: I never seen any performance issues using @DbLookup, if the application design have been sound. And would it be worth spending the time (both in development and in testing) to address something that is really an application design issue? Throwing resources (more memory, faster CPU, faster drives) at a problem (e.g. a slow database) is not really a good solution, it is better to fix the underlying problem (design) instead.
6) Mark Demicoli11707 (12 Feb 2009)
My understanding is that Notes is written in C which is subject to generic compiler logic. You have a class of programmers that specialise in lower level programming languages such as assembler or machine code. These guys write incredibly optimised instructions for embedded systems that are performance critical. So the same functionality, logically optmised (ie perfectly efficient logic), that compiles to 1000 instructions when written in C and then compiled into machine code, could be written in say 250 instructions if written in machine code. Get the point?
7) Karl-Henry Martinsson1587 (16 Feb 2009)
@Mark: But is that really a big problem? Yeah, perhaps IBM could put a developer on rewriting this one function slightly more optimized for you, but I am sure there are other functions who are much more important. Full round-trip DXL, for example. I never seen any performance problems using @DbLookup in a well design application. Perhaps you should spend a few hours optimizing your application design instead?
8) Ninke Westra1722 (17 Feb 2009)
I'd rather see those retarded limits on return set size removed (or increased significantly.
9) Adeleida Bingham11 (18 Feb 2009)
LOL. Feel like promoting this idea just because it's so funny. (Sorry Mark, no offense) . I honestly thought it was a joke.
10) Mark Demicoli11707 (19 Feb 2009)
This is not a 'my lookups are better than yours' discussion. It's besides the point. An infinitely optimised sports car interior will not make the engine run more efficiently. There may actually already be certain parts of Domino that are written in lower languages than C. Anyone know?

@4: 10ms multiplied by 1000 'simultaneous' operations is 10 second response. 5 seconds if the @Lookup was twice as fast. if we have an agent doing the fabled lookup in this imaginary application and spitting out the result to a browser, the difference to the last processed request is 5 seconds. One onethosand.... Two onethousand.... Three onethousand.... Four onethosand.... Five onethousand.

Again this has nothing to do with developer prowess. A great F1 driver is limited by the performance of the vehicle.


11) Mark Demicoli11707 (19 Feb 2009)
@9: have you heard the one about the Domino to Exchange conversion utility? Command line version. :P
12) Richard Schwartz3723 (07 Sep 2009)
Point 1: Given the the complexities of manually optimizing for modern piplelined and multi-threaded chips, compounded by the fact that IBM supports many different client and server processor chips, it is highly unlikely that IBM's programmers could do a better job than the compilers that have intimate knowledge of each chip's capabilities built in.

Point 2: The performance of @DbLookup will mostly be determined by the performance of the Notes C API routines that it calls to do the database index lookups and all the NSF file i/o required for that. That code has been worked on by incredibly smart programmers for more than 20 years, and it seems highly unlikely that there are any significant performance gains to be made from code optimization. They have, on the other hand, gained performance from significant architectural updates to the ODS, caching algorithms, etc, over the years -- and those sort of things are where the achievable performance gains are likely to continue to come from.
13) Mark Demicoli11707 (07 Mar 2011)
Status changed to Withdrawn










:
:

Welcome to IdeaJam™


You can run IdeaJam™ in your company. It's easy to install, setup and customize. Your employees, partners and customers will immediately see results.

Use IdeaJam to:

  • Collect ideas from employees
  • Solicit feedback and suggestions from employees and customers
  • Run innovation contests and competitions
  • Validate concepts
  • Use the power of "crowd-sourcing" to rank ideas and allow the best ideas to rise to the top

IdeaJam™ works with:

  • IBM Connections
  • IBM Lotus Quickr
  • Blogs and Wikis
  • Websphere Portal
  • Microsoft Sharepoint
  • and other applications.

IdeaJam has an extensive set of widgets and API's that allow you to extend and integrate IdeaJam™ with other applications.

Learn more about IdeaJam >>


2
Design element support in XPages format
1
Abort searching design of form
5
Make the columns of the design element lists customizable
42
Allow sorting results of view.FTSearch by view order
4
Y'know that right-click lookup user on emails? That would be really useful in the dialog it opens.
2
Make location of Slide-in notifications adjustable and sticky
307
Make the Notes client check the attachment size BEFORE sending the email
11
Desktop Policy Settings Doc needs settings for full text index on local mail replicas
31
IBM Should Change the Slide Templates
26
Remove the need of recycle()
5
Make a Better "Manage Views"
8
Enable moving Notes workspace page
7
Improve the XPages extension library
135
In case of client crash - zap the need to use zappers!
5
Allow HideWhen on multiply selected outline entries
20
Create Computed Text with the same text style as the current paragraph
2
XPages template/framework based on (incorporating) IBM Design Language
10
make profile a first class design element again
34
NSD Kill for specific task or PID






IdeaJam developed by

Elguji Software Logo