Jump to content
Claris Engage 2025 - March 25-26 Austin Texas ×
The Claris Museum: The Vault of FileMaker Antiquities at Claris Engage 2025! ×

This topic is 7352 days old. Please don't post here. Open a new topic instead.

Recommended Posts

Posted

Has anyone conducted benchmarks of commonly used techniques to see what the actual fastest way of doing things is? I'm interested in learning how different approaches to the same problem compare with each other.

Some examples of things that could be tested:

Is a record-processing loop based on an if test of a counter value faster or slower than one using goto next/exit after last?

Is using a custom calculation faster or slower than performing the same calculation in a script step?

Is it faster to simulate an array by using string functions, or using repeating fields?

Rather than just assuming, or listening to conventional wisdom, I'd like to collect some actual statistics. Is there any interest in such statistics?

Posted

Hi Barbeque! You've certainly hit my hot button!! grin.gif

So much to speed-test and so little time. crazy.gif I've tested Case() vs. Choose() and 7's new ability to short-circuit. And I've compared how calc field order affects speed, by using branch prediction. For instance, if one assumes 80% of the records will be true, it's MUCH more efficient to have that evaluated first because short-circuit will stop the evaluation and move on. I have my actual tests, documenting each step to be sure my results couldn't be skewed (using 400,000 lineitem records). Fascinating stuff!!!

I've also done some speed tests using Set Field [] and Go To Field [] vs. using Omit Record. Loops are faster when FM doesn't have to change records. And of course I had to test the savings of Freeze Window, switching to Form View and placing the cursor in a field before multiple Set Fields[ ].

I've been wanting to test the difference between using an If[] script-step vs. one step with Set Field [ If() ], etc. Oh. This is powerful stuff! And anyone who says a 'small bit of speed' isn't important (whether in scripts or calculations) is nuts; because every nanosecond adds up in the overall solution. And, to a User having to wait 5 seconds for a process, it feels like an eternity. I would love to be involved in this! It's been on my list of Things To Do for quite some time. wink.gif

uhh, but right now I'm swamped. Geez. Dunno2.gif Maybe I can rise to the occasion, as it has certainly given me the energy to do so! Good on you for bringing up such an exciting and important subject!!! You can bet I'm devour this thread appropriately and I can't wait to hear all the ideas!!

LaRetta

Posted

Excellent initiative, eventhough it's from 1999 are there still great ideas to exploit, when reading the TEC311 file in this download: http://www.filemakerpros.com/Optimizing1.sit ...I've lately been experimenting importing between files/tables to create records in joins in a hurry ...and 7.0 has really shown it teeths with this:

http://www.fmforums.com/threads/download.php?Number=134699

...Similar has the cartesian relationship made many loopings thru records or scripted replaces redundant. such as:

http://www.fmforums.com/threads/download.php?Number=133792

That being said, might it surprice at least me ...when Ender writes in MacLane

I tested the speeds of FM7's relationship ranges against the Smart Ranges version with a related file that has hundreds of thousands of records, and the Smart Ranges method performed much better. Since speed is my main concern, I may stick with the Smart Ranges technique for filtering large tables.

Which lead in a new direction, namely the recursive functions you make with Dev, which is slightly faster than looping ...in this case with Smart Ranges:

http://www.clevelandconsulting.com/support/viewtopic.php?t=299

Just some thoughts....

--sd

Posted

Well, I'm glad to see there's some interest in this topic. smile.gif

What I'd like to do is gather some sample files that demonstrate the relative performance of two or more different techniques, and then publish both the results and the files themselves on my web site.

I've done little test files in the past, but generally have thrown them away when I was finished.

uhh, but right now I'm swamped...

Unfortunately, I'm also currently operating under a non-optimal Gluteal Elevation-to-Alligators ratio wink.gif

Fortunately, simply gathering existing files and ideas for things to test, and if we publish a list here, anyone who has any sort of benchmark can post it. We could use this thread, or I could host it on my site if that's more appropriate.

This topic is 7352 days old. Please don't post here. Open a new topic instead.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.