Performance core principles: Introduction to the project

Performance is a concern of every FileMaker developer, it is the most complained about subject but also the less discussed. We plan to assemble the wisdom and experience of our community here in order to develop and publish the Core Principles of FileMaker Performance.

Thank you to @Cecile & @Malcolm for enabling us to undertake this project.
Nick Lightbody 10th March 2021

FILEMAKER PERFORMANCE: CORE PRINCIPLES

TABLE OF CONTENTS

How can I understand more about how FileMaker works and how to get the best out of it performance and user experience wise?

1. UNSTORED CALCULATIONS
When are unstored Calcs useful and when should they be avoided?

2. INDEXING
What effect does indexing have on Performance? Why would you want to reduce it? How can you design to reduce indexing?

3. RELATIONSHIPS
What effect do relationships have on performance and what are the alternatives? What are examples of performant and non-performant relationship graph designs?

4. TABLE WIDTHS
What effect do wide tables (tables with many fields) have on performance? How can you reduce table widths? Where do repeating fields fit in?

5. PREDICATES
What are the performance implications of how you create relationship predicates, how many you use and their order?

6. STARTUP
How can you improve the user experience by designing a fast startup into your solution?

7. SCREEN REDRAWING
What is the effect on performance of windows, lists and portals redrawing and what is the effect of using freeze? When is it useful to use a blank layout within a scripted process and how does it effect performance?

8. EXECUTESQL
What are the performance implications of using ExecuteSQL? When should you use this and how should you use it properly?

9. DATA IMPORTS
How do you ensure that data imports run as fast as possible?

10. SCRIPTING
How do I write fast and easy to maintain scripts to automate my solution?

11. TRANSACTIONS
What are Transactions and how and when should I consider using them? What is good practice in designing a Transactions feature?

12. PLUGINS

Which plugins can enhance FileMaker performance without thereby introducing dependencies which create maintenance issues in the future and how should be best use those plugins?

13. MISCELLANEOUS

If you cannot find the right place for something about base / core / vanilla FileMaker performance and performance related Plugins please create your reply here and have your say.

POLL

Help! I have closed this until it’s setup correctly.
I want to offer 3 votes out of 12 subject areas. So in FM terms I want to permit 3 checkboxes from a list of 12 - ideally showing text labels for each of the 12 - can someone show me how to do it or do it themselves? Thanks!

Which three areas of focus on FileMaker Performance do you regard as the most important?

Please use the Numbers of the 12 main sections above - thank you!
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

0 voters

2 Likes

I think that it would be important in the discussion, when introducing a technique, to use a consistant way to present it. Suggestion:

  1. Technique Name/Description:
  2. Technique Type: eg: best practice, work around, optimization
  3. If work around - how critical
  4. If work around - what change to the build would bring valuable improvement, ROI?
  5. Need addressed briefly described/objective: eg: Emulation of other systems, Compatibility, Integration, Technological requirement, Priority, Security, FileMaker limitation, FileMaker paradigm, Usability, Hardware, Retrofitting
  6. Technique description and discussion
  7. Confirm accuracy for FM19
2 Likes

Maybe we need a miscelanous Tip one, for those thats don't fall in the categories

3 Likes

Yes, a good idea @Vincent_L - then if anything become significant it can be moved to its own topic?

1 Like

Sure, I was thinking about BE plugin and its uses, maybe whe need a Plugin categorie

2 Likes

I created plugins. Can someone put it the descriptor in the first post ?

2 Likes

Maybe - or maybe not. This would only be because I have set a target for exploring performance in "Vanilla FileMaker" as there are plenty of experts on newer areas?

Having said that the free BaseElements Plugin from Nick Orr in Australia is very good and doesn't, in my experience create dependencies that break on the next Filemaker update?

What do people think?

Can we do votes / polls here:

Question: within the idea of better understanding basic FileMaker Performance should we include a Topic on Plugins?

Nick

1 Like

If you look at the little gear in the edit post box, there is a poll option. I bumped your account so that you have access to creating polls.

Created it :slight_smile:

1 Like

I don't have time to go fishing in there but there are sooo many contributions in that thread. I think we should extract the stuff pertinent for our work here.

panel-session-on-performance-post-your-questions-here

1 Like

Thanks! Such fun!

1 Like