Arithmetische Operationen durch Bitshift ersetzen

Begonnen von tobias, 08. März 2007, 22:59:27

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 2 Gäste betrachten dieses Thema.

tobias

Hat jemand hierzu schon Erfahrungen gesammelt, ob durch Bitshift-Operationen ST-Code beschleunigt werden kann? Wir sind gerade dabei zu testen, ob es sinnvoll wäre in der oscat.lib Divisionen und Multiplikationen von 2er-Potenzen durch Bitshiftoperationen zu ersetzen. Meiner Meinung nach kann dadurch die Ausführungszeit etlicher Funktionen und Funktionsblöcke reduziert werden. Ich weiß nicht in wieweit IEC 61131-3 konforme Compiler intern "optimieren", aber selbst in hohen Programmiersprachen wie C++ oder Java ist es immer noch gängig im Code Divisionen und Multiplikationen von 2er-Potenzen durch Bitshifts zu ersetzen. Ich weiß, dass dies nicht zur Lesbarkeit des Codes beiträgt ... Auf der anderen Seite werden hier SPS programmiert, wo es doch sehr stark auf die Performance ankommt.

hugo

hi tobias
wenn du mal eine schleife mit 10000 durcläufen programmierst und dann eine int variable mit bit shift mal2 nimmst oder teilst und dann mit einer schleife mit div und mul vergeichst aendert sich da was ?