Hi, Emanuel! I don't know the answer, but I have a comment - you have 3 questions in one. If we have a discussion here on all 3 it will be a mess. Also, we have a feature of 'Accepted answer' which you will choose when the problem is done - it's difficult to accept an answer for 3 different questions.

Could you please consider to split it into 3 different questions?

You are welcome!

Also would love to mention that DeepSee Web (DSW) gives you the option to iframe any particular widget. 

Just right click on a widget and choose Share menuitem and you'll get the iframe code to get this widget embeded to any other web-page.

E.g. here is the code for this widget:

<iframe style="border: none" src="https://analytics.community.intersystems.com/dswpub/index.html#!/d/PostsByYears.dashboard?ns=COMMUNITYPUBLIC&embed=1&widget=0&height=303&isLegend=true" width="551" height="303" ></iframe>

And here is how I obtained it:

Ed, it's not about speed, but about syntax sugar on "for cycles". you can go like that: 

 
/// do ##class(POI.Test).main() 
ClassMethod main(rounds As %Integer = 1000, size As %Integer = 10, nullPercent As %Integer = 20) {
 set list = ..getList(size, nullPercent) 
 write !,"Rounds: ", rounds 
 write !,"Size: ", size 
 write !,"NullPercent: ", nullPercent 
 write !,"List: " 
 zwrite list
for way="listnext", "listfind", "lfs", "base" {

  set start = $zh set list2 = $classmethod(,way, rounds, list)

  set end = $zh set time = end - start 
 write !,"Way: ", way 
 write !,"Time: ", time 
write !,"List: "
 zwrite list2

  write ! }