Skip to content
Snippets Groups Projects

Added custom IO times for ASAP and ALAP etc

Merged Simon Bjurek requested to merge ruff-rules-and-io-times-asap-alap into master
4 unresolved threads
  • Added comprehensions ruff rule and fixed issues.

  • Added numpy ruff rule and fixed issues.

  • Added pyupgrade ruff rule and fixed issues.

  • Added so that running cyclic scheduling on ListScheduler will cause Exception if the SFG contains loops. (use RecursiveListScheduler instead)

  • Added custom IO times for ASAP and ALAP.

  • Fixed so that this is passed when calculating ALAP schedule used in ListScheduler. (fft-bug)

Closes: #338 (closed) #337 (closed)

Edited by Simon Bjurek

Merge request reports

Pipeline #159190 passed

Pipeline passed for 8efb6349 on ruff-rules-and-io-times-asap-alap

Test coverage 80.00% (0.00%) from 8 jobs
Approval is optional

Merged by Oscar GustafssonOscar Gustafsson 1 week ago (Mar 19, 2025 8:13am UTC)

Loading

Pipeline #159194 passed

Pipeline passed for 8efb6349 on master

Test coverage 80.00% (0.00%) from 8 jobs

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
222 222
223 223 _signals = []
224 224 for signal, ports in self._window._arrow_ports.items():
225 if any(
226 map(
227 lambda port: set(port).intersection(set(self._ports)),
228 ports,
229 )
230 ):
225 if any(set(port).intersection(set(self._ports)) for port in ports):
231 226 self._window._logger.info(
  • Den här är lite märklig. Regeln är att man ska ha %-formattering i log-strängar, för den evalueras "lazy", dvs när den behövs. f-strängar evalueras innan funktionsanropet. Nu är det ju ingen större fara här (bara lite strängformattering, inget som tar lång tid att räkna ut), men generellt så är det inte bra om reglerna säger detta.

    Jag undrar om det beror på att ruff inte fattar att det är en logging-metod?

    https://docs.astral.sh/ruff/rules/logging-f-string/

  • Jag noterade det på vissa tidigare MR också, men nu blev det ju massor med sådana ändringar. Tänker att det framförallt i schemaläggningen inte direkt förbättrar prestandan...

  • Author Maintainer

    hmm, intressant, issue för att fixa till allt?

  • Ja, jag tror det är enklast. Sedan vore det ju trevligt om man slapp ignorera alla, så frågan är om vi gör loggningen på något speciellt sätt? Eller om det kommer att varna för att vi använder f-strängar om vi slår på G004?

  • Please register or sign in to reply
  • 756 756 )
    757 757
    758 758 def _create_operation_item(self, item) -> None:
    759 self._logger.info("Creating operation of type: %s" % str(item.text()))
    759 self._logger.info(f"Creating operation of type: {str(item.text())}")
    • Suggested change
      759 self._logger.info(f"Creating operation of type: {str(item.text())}")
      759 self._logger.info(f"Creating operation of type: {(item.text())!s}")

      Liten grej, men !s är samma som str() (men nu ska det ju inte vara en f-string ändå...).

    • Please register or sign in to reply
  • 342 342 def synchronous_memory(
    343 343 f: TextIO,
    344 344 clk: str,
    345 read_ports: Set[Tuple[str, str, str]],
    346 write_ports: Set[Tuple[str, str, str]],
    347 name: Optional[str] = None,
    345 read_ports: set[tuple[str, str, str]],
    346 write_ports: set[tuple[str, str, str]],
    347 name: str | None = None,
  • 349 349 except Exception as e:
    350 350 log.exception(
    351 351 "Exception occurred. Could not load module from file"
    352 " '{}'.\n\n{}".format(abs_path_filename, e)
    352 f" '{abs_path_filename}'.\n\n{e}"
  • Oscar Gustafsson approved this merge request

    approved this merge request

  • Please register or sign in to reply
    Loading