Connector always converts ands sends everything instead of changes only?

Hi,
maybe my settings are not correct, but:

I was under the impression that Speckle only sends changes since the last commit to the server. However, it seems like it always converts and sends the entire model (plus linked model data, if enabled) when pressing Send.
This seems like a deviation from a git-like mode of work, where only the delta between the last remote commit and the local data is being considered?

In practice, this would also mean having to wait quite long in a workflow that requires even a decent amount of sending and receiving. I’m testing this with a main model of size 13MB with a linked model of size around 6MB, and it takes around 2-3minutes already to upload that data.

Tested only with the Revit Connector on default settings (except sending the linked model as well).

The question would be:

  1. Is there a way in Speckle to only commit and send the changes since the last commit?
  2. If not, are there plans to implement this?
  3. If not, what is the recommended workflow to send data as fast as possible?

Cheers!

Hey @grub some answers here: Commit merging on pull and online viewer - #2 by dimitrie

Speckle is currently only borrowing git terminology, aaand it is actually going away soon :slight_smile:

Diffing is done behind the scenes for you, so a Revit element that was sent in a previous commit is not sent in future ones, unless it has changed.

In regards to performance, there is still additional optimization that we’re planning on doing, in some connectors (eg Revit) we have to convert and serialize each object locally before the diffing happens - but we will soon be able to do it before conversion and make things even faster.

3 Likes

Thanks, I suspected that it’s the conversion part that’s taking so long. Good to hear that you’re working on it!

1 Like