I have seen some hot discussions about FileMaker 12 performance around, but none in this forum that's actually dedicated to FileMaker peformance tuning.
While we all want our solutions to run as fast as possible and FileMaker also wants to make the software platform as fast as possible, let's optimize ourselves and help each other efficiently.
There is no doubt that FileMaker always invests some effort into improving their software's peformance in every version.
But they also need to be adding new features, and new features usually require processor power and negatively affect peformance.
As a result (I swear I have seen that in every single version), with each version update some things become faster and others become slower.
A proof is that while many people are now complaining about FM12 being slower than FM11, some people report that FM12 is faster for them.
Obviously, better performance is much weaker reson to share your experience than a slowdown...
I know that FileMaker engineers are aware of this and I know (I talked to the people responsible for performance at last DevCon) that they are not happy to see a single feature to become slower.
But the reality is that some important features simply cannot be implemented without slowing down some other existing features and FileMaker has to judge where the slowdown is acceptable and where it's not.
We can only help them to judge correctly by having a high quality information from us.
So let's join our forces and put that high quality information together here in this forum.
Let's create a separate discussion for each specific case here, then discuss that case, perform tests, share test results, find workadounds if possible, and suggest changes for the future updates if necessary.
I suggest we follow this procedure for each case:
Do you experience significant (noticeable) performance change (slowdown or speedup) of FM 12 in comparison to FM 11? Then follow these steps:
- Identify what exactly is slower or faster.
- Layout redraw
- Record navigation
- Performing Find
- Something else...
- Narrow it down to a specific case
- Try it on a different layout, even a new or empty one
- Try a different script, try to create a new one
- Try it with a different table, file
- Is the file hosted or opened locally? Does it behave the same when you try both?
- How many records? Does it matter?
- How many fields? Does it matter?
- How many users? Does it matter?
- Look for your case in the existing discussions
- If you find one, check whether it's really about the same case
- If the discussion does not exist, create a new one and make sure to identify your case well in the subject, otherwise join the existing one
- Get a sample
- If a sample was already created by someone else and shared in the discussion, download it
- If there is no sample yet and you can replicate the issue on a new database created from scratch, please do it
- If you can only replicate the issue on your own database, please strip it down as much as you can, so that the issue is still reproducible and you feel comfortable about sharing it
- Add measuring to the sample if it's not there yet
- Measure specific action othwerwise we cannot compare results
- Feel free to use 24U Toolbox Plug-In and its Toolbox_GetTimestamp function for precise measurement - this function does not require the plug-in to be registered
- Get FM Bench Detective for even easier benchmarking
- To measure calculations, use the Let function: Let( [ starttime = Toolbox_GetTimestamp ; result = Put your original calc here ; $$calc_duration = Toolbox_GetTimestamp - starttime ] ; result )
- To measure layout redraw speed, use two unstored calc fields, put one in the top left corner and move it to back, put the second one in the bottom right corner and move it to front.
- Use script triggers (consult the help or manual for triggering order) to measure time between specific events
- Share your experience and measured results together with your hardware & operating system details in the discussion
- Don't forget to attach the sample if it's new or if you have made changes
- Subscribe to the discussion updates if you are interested in responses from other developers
OK, now I seem to have asked you for some work. Maybe a lot of work. But isn't that what your customers expect from you?
I am sure that FileMaker engineers are working hard and definitely do care about the quality of their results, especially about the speed of all FileMaker products.
Yes, I admit they may be doing something wrong, even without intention.
But I am sure we all do the same.
We all do our best to make our solutions as good as possible and reasonable,
and we also do a lot of things wrong without knowing.
I have seen practical examples of my Marvelous Optimization Formula everywhere, and I can say I have not seen a solution that could not be made faster without making FileMaker faster.
I am sure we can not only help FileMaker to make their products faster, but we can also make our solutions faster today.
I personally like all the new features introduced in FM 12, I can even immediately benefit from many of them, but I also understand that just like with every major version upgrade of every software there are going to be things that will not work as I expect and that some solutions may require some work before thay can be upgraded to FM 12.
So let's start finding out what's that necessay work, and then let's simply do it.
the mad optimizer