December 2016

S M T W T F S
    123
45678910
11121314151617
18192021222324
252627282930 31

Style Credit

Expand Cut Tags

No cut tags

August 22nd, 2015

tony_osp: (Default)
Saturday, August 22nd, 2015 08:51 pm
I'm working on the next gen WEB UI for the SmartGarden system, and while debugging javascripts, I noticed some WEB requests perf numbers for the SmartGarden system. WEB Server perf is quite impressive - simple requests like json/state execute in less than 10ms, and 18KB file download (which involves reading the file from MicroSD card and emitting it) is completed in under 120ms.

Taking into account that this is just a tiny Arduino MCU this is actually pretty good. Arduino MCU is doing its part, but it is also clear that W5500 Ethernet controller has pretty low overhead, super-fast TCP handshake, and very fast MCU interface. W5500 was expected to be faster than the old W5100, but actual results exceed my expectations.
Of course, Raspberry Pi or cheap x86 or ARM Tablet will do even better than that, but there is a huge perf difference between 1+ GHz 32bit ARM processor and 16 MHz Arduino CPU.

This super-fast WEB requests handling makes SmartGarden WEB UI fast and fluid, in spite of considerable amount of information on the page. Async requests model also helps a lot, but high perf WEB server is the key.