1 2 3 Previous Next 36 Replies Latest reply on May 10, 2012 8:45 AM by Paul Jansen

    FileMaker 12 speed issues & test results

    HOnza

      Hey all,

       

      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:

       

      1. Identify what exactly is slower or faster.
        • Script(s)
        • Calculation(s)
        • Layout redraw
        • Record navigation
        • Performing Find
        • Sorting
        • Something else...
      2. 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?
      3. 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
      4. 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
      5. 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
      6. Share your experience and measured results together with your hardware & operating system details in the discussion
      7. Don't forget to attach the sample if it's new or if you have made changes
      8. 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.

       

      HOnza

      the mad optimizer

        • 1. Re: FileMaker 12 speed issues & test results
          fmpvince
            • 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.

           

          Hi Honza,

           

          Glad you step in.

           

          But what do you mean by "move it to back", because one FMP12 optimization is to not evaluate unstored calcs that you can't see (or that are not used in a visible conditional formating), so if by back you mean that that the field would be hidden, then it won't work I guess

          • 2. Re: FileMaker 12 speed issues & test results
            HOnza

            Oh, you're right. Forgot to update my tip to the FM12 language ;-)

             

            The correct instruction should be:

             

            Move it back in the layer hierarchy and move everything else at least one pixel to the right if necessary to make the calc field visible.

             

            However, I have to adming I even have not verified yet whether FM 12 still evaluates such calculation before starting to render the rest of the layout. Will post an update as soon as I get to check this.

             

            HOnza

            • 3. Re: FileMaker 12 speed issues & test results
              HOnza

              I have just quickly tested this and it looks like FM12 still renders layout objects in the order of layers, so the above described technique should work.

              Here is a sample if you want to try it out yourself: http://24usw.com/ldrw12

              • 4. Re: FileMaker 12 speed issues & test results
                HOnza

                One more update - objects are rendered in the order of layout parts, objects within one part are rendered in the order of layers.

                It also seems that each object has its own layer, i.e. even objects that do not overlay do not share the same layer.

                So it should not be necessary to move the starting benchmark field to the top left corner and the ending benchmark field to the bottom right corner.

                 

                Anyway, if someone from FMI could confirm this that would be great ;-)

                 

                HOnza

                • 5. Re: FileMaker 12 speed issues & test results
                  Oliver_Reid

                  So far in all the checks I have done:

                  1 Re-drawing layouts is the one thing that can make FMP 12 slower

                   

                  2 Generally calculations and delivering data seems to run a little faster

                   

                  3 Drawing slows down more if a lot of objects with formatting not provided for in the new CSS scheme are on a legacy layout. I think, but am not certain, that this is because in the conversion those objects are converted to CSS with styles unique to them, which can bloats the layout and slow down rendering. I think this because I have found that more you convert legacy objects to the new CSS, the faster rendering becomes.

                   

                  4 Rendering a layout where every object is defined via the new CSS scheme, takes about twice as long as an equivalent layout in FMP 11 as far as I can tell. That is still effectively instantaneous in most cases. But of course in converting a FMP11 design there may be special situations that expose this delay and require some reworking.

                   

                  5 I have yet to see a situation where the calc engine itself is slower than with FMP11.

                   

                  6 I believe from first impressions (and will report with further testing) that data retrieval is faster with FMS12. Especially in the case of unstored calcs and sorts of portals based on related data. I believe the new file structure is part of the reason for that, and it has enabled FMS to do more of the work and reduces client server traffic. WAN performance, especially over distance, should improve as result. I am planning to do a MySQL vs FMS comparison generating a data-loaded web page soon.

                  • 6. Re: FileMaker 12 speed issues & test results
                    taylorsharpe

                    I am very interested in your #6 where you test MySQL to FMS.  Will you be doing this using PHP in a web page.  I know in previous versions, the FileMaker PHP API has been rather slow and it has made FileMaker seem a lot slower than MySQL in getting data to a web page.  I'm hoping you see a big improvement here.  I'm not expecting FileMaker to be as fast as MySQL, but something close would be real nice. 

                    • 7. Re: FileMaker 12 speed issues & test results
                      DonovanChan

                      Good stuff HOnza. Excellent checklist. It takes practice and discipline to actually measure performance, but I'm learning to reap the benefits!

                      • 8. Re: FileMaker 12 speed issues & test results
                        Oliver_Reid

                        Assuming PHP can do it I am planning to use ODBC to extract the data from FM, so minimal PHP code changes are needed.

                         

                        I have been led to believe that ODBC perfornace will be much faster and more scaleable. I am hoping that will be true and the need to publish web data via SQL will be unneccasry for moderate volumes.

                        • 9. Re: FileMaker 12 speed issues & test results
                          HOnza

                          Great findings, Oliver! Many thanks for sharing them.

                          My initial tests show that we might expect about 1 to few milliseconds to be spent by rendering 1 object. Should be still fine to display 100 objects but may require simplyfying/redoing some layouts as you mention.

                           

                          BTW, Let me remind you that to make this forum well organized and information easy to find it's best to start a new discussion for each unique topic/case.

                           

                          You can start a new discussion in the current forum by clicking on the New button and then Discussion:

                           

                          Screen shot 2012-04-12 at 2.22.46.png

                           

                          HOnza

                          • 10. Re: FileMaker 12 speed issues & test results
                            usbc

                            HOnza said "...BTW, Let me remind you that to make this forum well organized and information easy to find it's best to start a new discussion for each unique topic/case...."

                             

                            Good point.

                            May I add that this would be a good time to include the Platform and OS version, even if it could be inferred.

                            And eventually, in this new land we might find that we all work in Advanced and our clients don't. I have no clue if that even matters but would hate to find out latter.

                            • 11. Re: FileMaker 12 speed issues & test results
                              glitchtracker

                              I've posted a file here that performs various tests

                               

                               

                              http://forums.filemaker.com/posts/715ef37320?start=86

                               

                              What's it shows is that just rendering a 1 on the screen is 2.048 x slower than FMP 11. The test focuses on drawing speed.

                               

                              Moreover the test can be esalily customized by creating several layouts with specific features, so we can test whichever drawing thing we want. (you have to name the layout number + space + suffix, and pass the suffix in parametr.

                               

                              It also showsw that creating related records is 7.5% slower

                              • 12. Re: FileMaker 12 speed issues & test results
                                HOnza

                                Great, glitchtracker, thanks for sharing!

                                I am going to try it out on my computer as soon as I can leave it unattended for about half an hour.

                                 

                                HOnza

                                • 13. Re: FileMaker 12 speed issues & test results
                                  karo

                                  Hi HOnza,

                                   

                                  I have downloaded you "LayoutDrawingSpeed" (I don't know anymore, where it was in this forum) and modified it a little bit to test conditional formating.

                                  If you try this, you see, that in FM7, the calculation will done one time.

                                  If you convert this to FM12, the same calculation is done 4 times.

                                  http://transfer.karo.at/LayoutDrawingSpeed_v2.fp7.zip

                                   

                                  not so good :-(

                                   

                                  regards,

                                  Robert

                                  • 14. Re: FileMaker 12 speed issues & test results
                                    proofgroup

                                    do we have a complete list of operations that are now done server side? I think conditional formatting is now server side, but others?

                                     

                                    HOnza, do I recall correctly that you did a database operations comparison of 11 and 12 at one point? I was looking for it but can't seem to find it. I'd like to get my hands on some CRUD operations tests.

                                    1 2 3 Previous Next