HNHacker News
TopNewBestAskShowJobs

lispit

269 karma · joined September 25, 2015

submissionscomments
lispit··on Memory layout of multi-dimensional arrays
...oops...
lispit··on Memory layout of multi-dimensional arrays
GPUs use tiling and morder-order storage for textures for this reason.

https://fgiesen.wordpress.com/2011/01/17/texture-tiling-and-...

lispit··on Memory layout of multi-dimensional arrays
Related to this is the concept of arrays of structures (AoS) vs. structures of arrays (SoA). Do you store all of the data that makes up one "object" in a single data structure, or do you store all of each "member" of each object in separate flat arrays?

If you need to use all of the "members" of an "object" at once, AoS is more efficient. But if you only need to use 1 or 2 members for a certain task, you will waste lots of memory bandwidth on data that isn't needed for the current operation. In this case, an SoA layout can improve your performance by an order of magnitude, by insuring that only the data that is actually necessary for your task is loaded into cache.

The same principle applies to row vs. column-oriented databases, which obviously are orders of magnitude more sensitive to IO bandwidth usage.

One of the most damning criticisms of OOP, from this perspective, is that it encourages you to wrap up lots of potentially unnecessary data into monolithic "objects" without concern to memory layout or usage patterns, giving you AoS and bloated data structures.

lispit··on NewLisp
When Stroustrup created C++ or Hejlsberg created C#, did C progammers spend decades whining about their choice of names and alienating newcomers?
lispit··on John Carmack's VR Script Live Coding Session at Oculus Connect [video]
Twitch is still Flash, though the interface has been converted to HTML+JS.

http://blog.twitch.tv/2015/07/video-player-controls-now-in-h...

lispit··on John Carmack's VR Script Live Coding Session at Oculus Connect [video]
Yes.

https://stackoverflow.com/questions/21921790/best-approach-t...

lispit··on NewLisp
newLISP is not a derivative of Common Lisp or Scheme or any other Lisp. It's a different language in a similar style.

I wish the Common Lisp camp wasn't so insistent on equating "Lisp" to "Common Lisp." It's annoying having to tiptoe around them by saying "Lisp-like language."

← PreviousPage 2 of 2