[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: Patterns
- From: Paul Ducklin <pducklin@...>
- Date: Thu, 15 Dec 2022 18:26:27 +0000
> Profiling this it seems as though this is the most performant solution
> because there are not that many subscriptions and our software runs on
> pretty constrained hardware (mostly NodeMCU and similar).
If you are worried about memory usage then my solution involved creating and then comparing against (via __eq) two strings, namely “/sport” and “/sport/“.
You could rewrite it something like this, where the string to match against is only stored once:
X:sub(1,6) == “/sport” and (#X == 6 or X:sub(7,7):byte() == 0x2F)
Is NodeMCU still a thing? It seemed to run out of steam a couple of years ago, still talking about how a port to ESP32 was in the works and more hardware support was being added (e.g. Bluetooth).
(I switched, with a tiny bit of regret, to micropython, which seems to have a much more active community.)