Perforce Sync Operation: Modern "new" Sync is Slower than the Deprecated Sync

A status update on Perforce actions under FB 6.x

Our FB projects have been around awhile, and were using the deprecated P4 actions. I have started migrating them to the new, modern P4 actions.

I like the new Perforce actions a lot. They greatly simplify our build, and offer better support of the perforce feature set. (That is the pat on the back!)

I have observed, however, that the new actions are significantly slower than the old actions for "forced sync" operations (this is the only operation I have measured).

In our environment, the sync operation is the slowest (and most painful) part of the build. For a number of reasons, we must do a "forced sync" to recopy a LARGE amount of data (1000's of files, GB's of data) from the perforce server down to the build system. It takes 5-10 minutes.

It hurts.

Anyway, I am always watching the performance of the sync operation. I had hoped (without reason, I confess, but hope springs...) that the new P4 sync action would be faster. In fact, it appeared slower.

So I set up a side by side test. I had a single FB project, with two actions:

  • Deprecated Sync (forced)
  • New Sync (forced)

Of the same directory. I chose a dir struct that takes about 60 seconds to sync.

I ran the test several times. Then I reversed the order of the syncs (to put the new action first).

I found, consistently, that the new Sync action is 20% slower than deprecated sync.

 

Thought you should know!

Hi Sam

Thanks for letting us know, we will investigate this when time permits. I suspect the slowness may be due to the amount of processing that happens to the log output of actions in finalbuilder 6. One thing you could try is suppressing the log message for the action (on the Runtime tab of the action properties dialog, under logging properties turn on “Suppress Log Messages”).