Why not have the gpio nodes each feed a change node that sets up for a join. The join feeds a function which does the math - distance / (stop-start) to give you your value. here is an example
[{"id":"66551b75.8c9e2c","type":"debug","z":"d6840804.ac19a8","name":"","active":true,"console":"false","complete":"true","x":675,"y":222,"wires":[]},{"id":"e6116318.50c0b8","type":"inject","z":"d6840804.ac19a8","name":"","topic":"","payload":"start","payloadType":"str","repeat":"","crontab":"","once":false,"x":105,"y":97,"wires":[["cb6d762a.e13508"]]},{"id":"74baeca9.d741bc","type":"join","z":"d6840804.ac19a8","name":"","mode":"auto","build":"string","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":"false","timeout":"","count":"","x":441,"y":138,"wires":[["9e087c9e.e91848"]]},{"id":"3c2caeb6.78aaf2","type":"inject","z":"d6840804.ac19a8","name":"","topic":"","payload":"stop","payloadType":"str","repeat":"","crontab":"","once":false,"x":119,"y":172,"wires":[["4d8ff2a9.3a2f2c"]]},{"id":"cb6d762a.e13508","type":"change","z":"d6840804.ac19a8","name":"Start","rules":[{"t":"set","p":"
parts.id","pt":"msg","to":"timer","tot":"str"},{"t":"set","p":"parts.index","pt":"msg","to":"0","tot":"num"},{"t":"set","p":"parts.count","pt":"msg","to":"2","tot":"num"},{"t":"set","p":"payload","pt":"msg","to":"","tot":"date"}],"action":"","property":"","from":"","to":"","reg":false,"x":283,"y":99,"wires":[["74baeca9.d741bc"]]},{"id":"4d8ff2a9.3a2f2c","type":"change","z":"d6840804.ac19a8","name":"Stop","rules":[{"t":"set","p":"
parts.id","pt":"msg","to":"timer","tot":"str"},{"t":"set","p":"parts.index","pt":"msg","to":"1","tot":"num"},{"t":"set","p":"parts.count","pt":"msg","to":"2","tot":"num"},{"t":"set","p":"payload","pt":"msg","to":"","tot":"date"}],"action":"","property":"","from":"","to":"","reg":false,"x":285,"y":169,"wires":[["74baeca9.d741bc"]]},{"id":"9e087c9e.e91848","type":"function","z":"d6840804.ac19a8","name":"","func":"var start = msg.payload[0]; // time at start\nvar stop = msg.payload[1]; // time at end\nvar distance = 10; // distance in feet\nvar elapsed_time = (stop - start) / 1000; //convert to seconds\nvar speed = distance / elapsed_time; // speed ft/sec \nmsg.payload = 'the speed is ' + speed + ' ft/sec';\nreturn msg;","outputs":1,"noerr":0,"x":607,"y":141,"wires":[["66551b75.8c9e2c"]]}]