Top Experts [
learn more
]
Top 4-10
webko
8918 K
bandmandq
2408 K
Genx
1525 K
4.
tcmeyers
5.
kbata
6.
Martie
7.
Hammerton
8.
rrenfrow
9.
bneeman
10.
plegler
Welcome,
Guest
. Please
login
or
register
.
September 02, 2010, 04:52:25 PM
1 Hour
1 Day
1 Week
1 Month
Forever
Login with username, password and session length
Search:
Advanced search
FMWebschool releases more educational FMStudio webinars - check them out here:
http://www.fmwebschool.com/webinars.php
25313
Posts in
5589
Topics by
3956
Members
Latest Member:
rncompubooks
fmwebschool.com
PHP Web Publishing Technologies
FileMaker's New PHP API
FX.php vs FileMaker API Benchmarks Discussion
0 Members and 1 Guest are viewing this topic.
« previous
next »
Pages:
[
1
]
Author
Topic: FX.php vs FileMaker API Benchmarks Discussion (Read 5814 times)
Michael Petrov
Chief Software Developer
Administrator
Hero Member
Offline
Posts: 4278
Kudos: 15397
Applications:
BlackBelt
(Guru)
FMTouch
(Guru)
Dolphin Cart Pro
(Guru)
FMStudio
(Guru)
USB Export
(Expert)
IPOST Web
(Expert)
FX.php vs FileMaker API Benchmarks Discussion
«
on:
February 20, 2008, 08:48:22 AM »
Please use this thread to discuss the FX.php vs FileMaker API benchmark article from the February 2008 FMWebschool newsletter.
Logged
Michael Petrov,
Chief Software Developer
FMWebschool
800.353.7950
michael@fmwebschool.com
Keep up with our development, follow me on
Twitter
johnonz
Newbie
Offline
Posts: 4
Re: FX.php vs FileMaker API Benchmarks Discussion
«
Reply #1 on:
February 20, 2008, 11:13:02 AM »
Hi - a colleague here uses FMandPHP (
www.fm-and-php.info
) to serve a FM8 database. He reports it is a very simple class to use and in practice it seems fast. It would be fascinating to know if that simplicity was also accompanied by speed relative to the API or FX. I'm using a commercial API based product with FMPro Server 9 and finding it slow compared to an old CDML based one. The web pages are built dynamically using lots of loops and condition statements. The repetitive instantiation of the API class may be a factor in this. However, I'm only running it on a test server at the moment. I look forward to Part 2 of the article but would love to know more about FMandPHP's speed. It pretty much looks as though it's development has died though.
Logged
webko
Global Moderator
Hero Member
Offline
Posts: 1648
Kudos: 8918
Applications:
FX.php
(Guru)
BlackBelt
(Expert)
PHP API
(Advanced)
Re: FX.php vs FileMaker API Benchmarks Discussion
«
Reply #2 on:
February 20, 2008, 02:33:05 PM »
Can you given me a link to that article or mail it to me backchannel please Michael?
A discussion on another list indicated that a simple speed comparison saw FX outperform the API about 7:1, IIRC
Logged
Niche IT Pty Ltd
Suite 3A, Forest Rd, Hurstville NSW Australia
tim_at_nicheit.com.au
Michael Petrov
Chief Software Developer
Administrator
Hero Member
Offline
Posts: 4278
Kudos: 15397
Applications:
BlackBelt
(Guru)
FMTouch
(Guru)
Dolphin Cart Pro
(Guru)
FMStudio
(Guru)
USB Export
(Expert)
IPOST Web
(Expert)
Re: FX.php vs FileMaker API Benchmarks Discussion
«
Reply #3 on:
February 20, 2008, 02:35:38 PM »
Quote from: webko on February 20, 2008, 02:33:05 PM
Can you given me a link to that article or mail it to me backchannel please Michael?
A discussion on another list indicated that a simple speed comparison saw FX outperform the API about 7:1, IIRC
Not a problem, it is linked from the newsletter that has been emailed out a few hours ago (if you are not on it, you can join on the FMWebschool home page).
http://fmwebschool.com/newsletter/fx_api_benchmarks_v1.pdf
FX.php is certainly faster at this point, but not in any way 7:1 (the whole point of the benchmarks was to show how ridiculous that claim is).
Best Regards,
Michael Petrov
Logged
Michael Petrov,
Chief Software Developer
FMWebschool
800.353.7950
michael@fmwebschool.com
Keep up with our development, follow me on
Twitter
webko
Global Moderator
Hero Member
Offline
Posts: 1648
Kudos: 8918
Applications:
FX.php
(Guru)
BlackBelt
(Expert)
PHP API
(Advanced)
Re: FX.php vs FileMaker API Benchmarks Discussion
«
Reply #4 on:
February 20, 2008, 05:52:33 PM »
Well, I didn;t make that claim, and neither have I replicated the code used to make that claim - here it is for reference though:
Code:
<?php
require_once(
'performance_server_data.php'
);
require_once(
'FileMaker.php'
);
require_once(
'../FX/FX.php'
);
require_once(
'../FX/FX_Fuzzy_Debugger.php'
);
$loopCount
=
25
;
$searchCriteriaArray
= array(
'First_Name'
=>
'a'
);
$testCount
=
5
;
function
GetFAPExecutionTime
()
{
global
$loopCount
,
$searchCriteriaArray
;
$startTime
=
microtime
(
true
);
for (
$i
=
0
;
$i
<
$loopCount
; ++
$i
) {
// configure a connection to FileMaker Server Advanced
$contactsListConnection
= new
FileMaker
(
'Contacts.fp7'
,
FM_IP
.
':'
.
FM_PORT
,
FM_USERNAME
,
FM_PASSWORD
);
// set database and layout information
$contactsListQuery
=
$contactsListConnection
->
newFindCommand
(
'web_list'
);
// add find parameters
foreach (
$searchCriteriaArray
as
$fieldName
=>
$fieldValue
) {
$contactsListQuery
->
addFindCriterion
(
$fieldName
,
$fieldValue
);
}
// retrieve the records in this database matching the specified parameters available to the current user
$contactsObject
=
$contactsListQuery
->
execute
();
$contactsList
=
$contactsObject
->
getRecords
();
}
$endTime
=
microtime
(
true
);
return (
$endTime
-
$startTime
);
}
function
GetFXExecutionTime
()
{
global
$loopCount
,
$searchCriteriaArray
;
$startTime
=
microtime
(
true
);
for (
$i
=
0
;
$i
<
$loopCount
; ++
$i
) {
// configure a connection to FileMaker Server Advanced
$contactsListQuery
= new
FX
(
FM_IP
,
FM_PORT
,
FM_VERSION
);
// set database and layout information
$contactsListQuery
->
SetDBData
(
'Contacts.fp7'
,
'web_list'
);
// set database username and password
$contactsListQuery
->
SetDBUserPass
(
FM_USERNAME
,
FM_PASSWORD
);
// add parameter array for new record
$contactsListQuery
->
AddDBParamArray
(
$searchCriteriaArray
);
// create a new record
$contactsList
=
$contactsListQuery
->
DoFXAction
(
FX_ACTION_FIND
);
}
$endTime
=
microtime
(
true
);
return (
$endTime
-
$startTime
);
}
?>
<html>
<head>
<title>FX Error Tester</title>
</head>
<body>
<h1>Contact List</h1>
<ul>
<?php
$executionTimeFAP
=
0
;
$executionTimeFX
=
0
;
for (
$i
=
0
;
$i
<
$testCount
; ++
$i
) {
// do F.A.P. iteration
$fapTime
=
GetFAPExecutionTime
();
echo(
" <li>F.A.P.: {$fapTime}</li>\n"
);
$executionTimeFAP
+=
$fapTime
;
// do FX.php iteration
$fxTime
=
GetFXExecutionTime
();
echo(
" <li>FX.php: {$fxTime}</li>\n"
);
$executionTimeFX
+=
$fxTime
;
}
?>
</ul>
<br />
<br />
<p>Average F.A.P. Time:
<?php
echo((
$executionTimeFAP
/
$testCount
));
?>
</p>
<p>Average FX.php Time:
<?php
echo((
$executionTimeFX
/
$testCount
));
?>
</p>
</body>
</html>
I do know for a fact that a certain, fairly large and complex query that I wrote times out under the API and executes in a few seconds under FX - I use 30 second timeouts...
Logged
Niche IT Pty Ltd
Suite 3A, Forest Rd, Hurstville NSW Australia
tim_at_nicheit.com.au
Michael Petrov
Chief Software Developer
Administrator
Hero Member
Offline
Posts: 4278
Kudos: 15397
Applications:
BlackBelt
(Guru)
FMTouch
(Guru)
Dolphin Cart Pro
(Guru)
FMStudio
(Guru)
USB Export
(Expert)
IPOST Web
(Expert)
Re: FX.php vs FileMaker API Benchmarks Discussion
«
Reply #5 on:
February 20, 2008, 06:14:29 PM »
Hi webko,
I know that the claim was not yours, Chris Hansen was the one that made it - as for the differences, the main thing I can think of is the max settings (API has 'all' by default if I am not mistaken) that are different on the API. Other then that API treats portals very differently and resolves portal relationships more reliably then FX. One example: if you have a child record in a portal referencing a parent record in a calculation, but having many parents - FX gives you the results of that calculation for the first parent record, while API actually resolves the context of the current record (which could be any parent record, not necessarily the first) - so that could make things slower on the API under some very specific conditions which require more relationship related work in the database (not for these benchmarks though, in this case the slow down is in some other areas).
I would be interested to hear more details about your complex query though.
Best Regards,
Michael Petrov
Logged
Michael Petrov,
Chief Software Developer
FMWebschool
800.353.7950
michael@fmwebschool.com
Keep up with our development, follow me on
Twitter
webko
Global Moderator
Hero Member
Offline
Posts: 1648
Kudos: 8918
Applications:
FX.php
(Guru)
BlackBelt
(Expert)
PHP API
(Advanced)
Re: FX.php vs FileMaker API Benchmarks Discussion
«
Reply #6 on:
February 20, 2008, 06:46:17 PM »
Quote from: Michael Petrov on February 20, 2008, 06:14:29 PM
(API has 'all' by default if I am not mistaken) that are different on the API.
A fair point - my default copy of FX seems to have a default of 50, if I'm reading line 1569 correctly...
And I'll have to dig up the API version of the query from my archive before I can present that...
Logged
Niche IT Pty Ltd
Suite 3A, Forest Rd, Hurstville NSW Australia
tim_at_nicheit.com.au
gbargsley
Hero Member
Offline
Posts: 172
Re: FX.php vs FileMaker API Benchmarks Discussion
«
Reply #7 on:
February 21, 2008, 03:57:17 AM »
These benchmarks are pretty good and explain some of my initial issues with the FM API.
I notice that you used FMS 9v2 for your benchmarks. Has any discussion come up where you would execute the benchmark again against FMS 9v3. This release has actually made it possible for me to use the FM API in a stable and workable environment. I am just wondering if the enhancements made to v3 will bring FM API closer to the FX.php results.
Garry
Logged
Michael Petrov
Chief Software Developer
Administrator
Hero Member
Offline
Posts: 4278
Kudos: 15397
Applications:
BlackBelt
(Guru)
FMTouch
(Guru)
Dolphin Cart Pro
(Guru)
FMStudio
(Guru)
USB Export
(Expert)
IPOST Web
(Expert)
Re: FX.php vs FileMaker API Benchmarks Discussion
«
Reply #8 on:
February 21, 2008, 07:19:50 AM »
Hi Garry,
I would guess there would not be any difference since the API itself was not updated, and unless they really overhauled some things in the fmresultset.xml grammar it shouldn't make a difference. However when working on part 2, I will re-run the tests of both before and after my tweaks on the latest version at that point (which will likely be 9v3).
Best Regards,
Michael Petrov
Logged
Michael Petrov,
Chief Software Developer
FMWebschool
800.353.7950
michael@fmwebschool.com
Keep up with our development, follow me on
Twitter
FMWebschool
FMWebschool Team
Administrator
Hero Member
Offline
Posts: 1025
Kudos: 1383
Allyson Olm, Chief Developer
Applications:
FMStudio
(Guru)
Dolphin Cart Pro
(Guru)
IPOST Web
(Guru)
IPOST CC
(Guru)
PHP API
(Guru)
FX.php
(Guru)
Re: FX.php vs FileMaker API Benchmarks Discussion
«
Reply #9 on:
February 22, 2008, 07:56:02 AM »
Part two of this article will be run in our March Newsletter which you can sign up for at
http://www.fmwebschool.com/newsletter.php
- I have also submitted the details below to a couple other mailing list. Hopefully a nice healthy discussion will come of this.
Overview
When web publishing with PHP and the FileMaker database, there are two predominant options on the market at this time: FX.php and the FileMaker PHP API. FX.php is an older third party library, that is compatible with FileMaker Server versions 6 and up, and is open source.
The FileMaker API is a proprietary library developed by FileMaker Inc and is compatible with FileMaker Server 9 and above. Both these libraries offer a fully functional interface to a FileMaker database and can be used very quickly in a PHP application, there are many reasons to use each one, and this document will focus on the performance aspect of each library.
Objective
Within the FileMaker community there is an ongoing debate on which library should be used, which one is faster, and what is going to be the long term winner in this "battle".
This document attempts to place an unbiased perspective on the performance of each library in benchmark tests, and will aim to provide a reason for the differences that are found. In this first set of tests only the results are going to be presented, and a future document will follow with technical analysis as well as recommendations for performance enhancements.
Current Situation and Common Myths
Currently the accepted opinion within the community is that FX.php is the faster library. The advantages of the FileMaker API are generally cited as better code, and official endorsement by FileMaker Inc, as well as it being a developing technology with a lot of potential and a large budget behind it.
The degree to which FX.php is faster then the FileMaker API has been a hot topic, with approximations as low as a few percent to claims of FX.php being 7x faster - this benchmark attempts to put a more concrete number on this specific point.
Download the Documentation Here:
http://fmwebschool.com/newsletter/fx_api_benchmarks_v1.pdf
Download our sample files:
http://www.fmwebschool.com/newsletter/fx_api_benchmarks_v1.zip
In Kindness
Stephen Knight
Ask me about FileMaker Hosting for Mobile Devices
http://www.fmgateway.com
800.353.7950
http://www.fmgateway.com
Logged
In Kindness
FMWebschool Team
http://www.fmwebschool.com
http://www.fxforge.net
800.353.7950
Pages:
[
1
]
« previous
next »
Jump to:
Please select a destination:
-----------------------------
General Discussion and Announcements
-----------------------------
=> FMWebschools updates and announcements
===> FMWebschool Training Schedule
=> Newsletter and Community Discussion
=> Webinar and FMWebschool Events
=> General Discussion
===> CDML Old School FileMaker Web Publishing
===> FileMaker Mobile 7/8
=> Holiday Special Product Support
-----------------------------
FMTouch
-----------------------------
=> FMTouch - FileMaker Databases on the iPhone and iPod iTouch
===> FMTouch - Multi Language Discussion
=> FMTouch BlackBerry and FileMaker
-----------------------------
FMStudio
-----------------------------
=> FMStudio
===> FMStudio Connection and Installation Problems
=> FMStudio Pro
-----------------------------
FMWebschool Products and Solutions
-----------------------------
=> Dolphin Shopping Cart System
=> BlackBelt CDML Software
-----------------------------
FileMaker Books
-----------------------------
=> FileMaker Book Questions and Suggestions
-----------------------------
PHP Web Publishing Technologies
-----------------------------
=> FileMaker's New PHP API
=> FileMaker PHP, FX.php custom web publishing
===> Ajax Code and Examples
-----------------------------
FileMaker Inc Products and Technologies
-----------------------------
=> FileMaker Server 9
===> FileMaker Server 7 / 8 Advanced
=> Web Viewer
=> Instant Web Publishing
=> FileMaker XML, XSLT
-----------------------------
Other Resources
-----------------------------
=> Search Engine Optimization and Consulting
===> Marketing Book Reviews
=> FileMaker Web Resources
=> Free JavaScript Code Snips
=> Free PHP Code Snips
=> Web Jobs, Web Consulting
Loading...