misc: a few compiler level performance optimisations (#6559)

* window: use const references instead of copies

use const references instead of wasteful copies and make the = operator
check for self assignment and return early. also use const in all the
other operators.

* listener: pass std::function as const reference

instead of copies pass the std::functions as const references.

* config: dont unnecessarily convert to c_str

getHyprlangConfigValuePtr wants an std::string and we already have an
std::string, dont convert it to a c_str only for it to be converted back
to an std::string.

* buffer: pass attributes as const reference

pass attributes as const reference instead of copies.
This commit is contained in:
Tom Englund
2024-06-17 17:37:36 +02:00
committed by GitHub
parent a9c7a0830f
commit 28ce0e0f80
6 changed files with 24 additions and 20 deletions

View File

@@ -3,7 +3,7 @@
#include "../../render/Renderer.hpp"
#include "../../helpers/Format.hpp"
CDMABuffer::CDMABuffer(uint32_t id, wl_client* client, SDMABUFAttrs attrs_) : attrs(attrs_) {
CDMABuffer::CDMABuffer(uint32_t id, wl_client* client, SDMABUFAttrs const& attrs_) : attrs(attrs_) {
g_pHyprRenderer->makeEGLCurrent();
listeners.resourceDestroy = events.destroy.registerListener([this](std::any d) {

View File

@@ -4,7 +4,7 @@
class CDMABuffer : public IWLBuffer {
public:
CDMABuffer(uint32_t id, wl_client* client, SDMABUFAttrs attrs_);
CDMABuffer(uint32_t id, wl_client* client, SDMABUFAttrs const& attrs_);
virtual ~CDMABuffer();
virtual eBufferCapability caps();