I've a smartcontract compiled with pragma solidity ^0.4.0; version and one function receives a bytes parameters which contain a long string. In these version it doesnt need to set the parameters as "memory".
I've create a new contract with version pragma solidity >=0.4.25 <0.6.0; and i'm not able to create unless I mark the byte parameters as memory.
bytes memory dBlock
These have increase the gas cost for the transaction more them 3x. I've test with a bytes32 variable the gas cost is almost nothing.
However in these particular case I often receive a long string much longer than 32 chars. How I can pass a long string to a smartcontract and on same time save some gas in the transaction?