Musing Mortoray

~ On Programming and Language Design

Musing Mortoray

Category Archives: Efficiency

Pitfalls of Performance Testing

2012-07-09

Beware the casual performance test, it will lie to you. It is simple to write something that gives you timings, …

Continue reading »

Performance is irrelevant

2012-02-09

Asking questions about performance online universally invites scorn and accusation. A large number of programmers apparently feel that the efficiency …

Continue reading »

How does a mutex work? What does it cost?

2011-12-16

Concurrent programming requires synchronisation. We can’t have more than one thread accessing data at the same time otherwise we end …

Continue reading »

How Polymorphism Works: Part 2: Virtual Table

2011-08-12

In the article on “How Polymorphism Works: Part 1” we learned how to create virtual functions. The method which we …

Continue reading »

How Polymorphism Works: Part 1

2011-08-09

Polymorphism: the core of object oriented programming. Most modern languages have some concept of interfaces, virtual functions, and classes. Though …

Continue reading »

What is an atomic operation?

2011-03-23

We all know that operations in a computer happen one after the other. Having multiple CPUs and instruction reordering tends …

Continue reading »

CPU Reordering – What is actually being reordered?

2010-11-18

We’ve all heard that a CPU may reorder access to memory. Yet if you’ve looked further you’d also see that …

Continue reading »

CPU Memory – Why do I need a mutex?

2010-11-18

Multi-threaded programming calls for semaphores, synchronized blocks, mutexes, or whatever your language happens to call them. Most of us basically …

Continue reading »

The Cost – A Function Call

2010-10-12

In the grand scheme of execution costs function calls come very close to the bottom of the list. They don’t …

Continue reading »

The Cost – Instantiation and the hidden enemy “new”

2010-10-12

Whether C++, Java or any other language, we are all familiar with instantiating an object. In those aforementioned languages the …

Continue reading »

← Older posts
  • Leaf
  • Defective C++
  • Ideal Language
  • About Edaqa

Latest Tweets

  • A good explanation of normal numbers. :) clz.co/kSpOeS 4 days ago
  • Great variation on a jigsaw puzzle, trust me, it isn't easy. clz.co/14fYA5W 6 days ago
  • Very curious, a possible scientific explanation of how experience helps us grow sciencedaily.com/releases/2013/… 1 week ago
Follow @edaqa

Enter your email address to follow this blog and receive notifications of new posts by email.

Recent Posts

  • How to catch a “return” statement
  • Building blocks: Compiling if, defer, break, continue, and exceptions
  • 1/2 Should Not Equal Zero
  • Why do we need pointers/references?
  • Parsing an exact decimal value using GMP
  • Leaf: Simple type conversions
  • Leaf: Preserving “lvalue” status
  • What is a System Language?
  • Immutable Values and Invariant Names
  • Divorcing a value from its name
  • How to handle an error
  • Of Faults and Errors: Who’s to blame?

Archives

RSS Feed RSS - Posts

Blog at WordPress.com. Theme: Chateau by Ignacio Ricci.

Follow

Get every new post delivered to your Inbox.

Join 154 other followers

Powered by WordPress.com