Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- Search



  Optimization Tricks used by the Lockless Memory Allocator

With the releasing of the Lockless Memory Allocator under the GPL version 3.0 license, we can now discuss more of the optimization tricks used inside it. Many of these are things you wouldn't want to use in normal code. However, when speed is the ultimate goal, sometimes we need to break a few rules and use code that is a little sneaky.The SlabA slab is a well-known technique for allocating fixed size objects. For a given object size, a chunk of memory is divided up into smaller regions of that ...

   Optimization,Memory allocation     2011-11-16 08:02:16

  Method chaining and lazy evaluation in Ruby

Method chaining has been all the rage lately and every database wrapper or aything else that’s uses queries seems to be doing it. But, how does it work? To figure that out, we’ll write a library that can chain method calls to build up a MongoDB query in this article. Let’s get started! Oh, and don’t worry if you haven’t used MongoDB before, I’m just using it as an example to query on. If you’re using this guide to build a querying library...

   Ruby,Method chaining,Lazy evaluation,Implementation     2011-11-29 08:51:17

  Building The Linux Kernel In 60 Seconds

In less than one minute, it's now possible to build the Linux kernel from source on a desktop. Besides finishing up the Phoronix Test Suite 3.6-Arendal release this weekend, on Saturday I began running some new Intel CPU benchmarks. In building the Linux 3.1 kernel for x86_64 in a default configuration (make defconfig), I've now managed to trim down the compile time to less than sixty seconds on a single-socket desktop system. Similar speeds can be achieved out of multi-socket servers and othe...

   Linux kernal,Build,Intel processor,sgort time     2011-12-12 07:45:32

  Understanding PGO in GoLang 1.20

Background The Go 1.20 version was officially released in February 2023, it introduced the PGO(Profile Guided Optimization) mechanism. The basic principle of PGO can be divided into the following two steps: First, profiling is performed on the program to collect data about the program's runtime and generate a profiling file. When compiling the program, enable the PGO option, and the compiler will optimize the program's performance based on the content in the .pgo file. When compiling a program...

   GO 1.20,PGO,GOLANG     2023-02-28 04:27:46

  Getting started with C++ TR1 regular expressions

Overview This article is written for the benefit of someone familiar with regular expressions but not with the use of regular expressions in C++ via the TR1 (C++ Standards Committee Technical Report 1) extensions. Comparisons will be made with Perl for those familiar with Perl, though no knowledge of Perl is required. The focus is not on the syntax of regular expressions per se but rather how to use regular expressions to search for patterns and make replacements. Support for TR1 ext...

   Regular expression,Replace,TR1,Extension     2011-08-14 07:25:20

  Hail the return of native code and the resurgence of C++

Programming language trends come and go. First, Java is the hot new language, then it's Python, then Ruby steals the limelight, then it's back to JavaScript. But the latest language darling is probably the last one anyone expected. Believe it or not, 2011 could be the year of C++. Last week, the latest version of the ISO C++ Standard was approved by unanimous vote. It's the first major revision of the language in 13 years. Now officially known as C++11, the new standard introduces features desig...

   C++,Future,Return back,Popular,Local dev     2011-08-24 02:20:24

  Hello, Kernel!

When we learn module programming, the first small program must be hello, kernel!. For a novice, how do we avoid some mistakes and how to fix the bugs we have when writing the first module program? Is there any example we can refer to? Here is one example. 1. Write the hello.c 01 #include <linux/init.h> 02 #include <linux/module.h> 03 #include <linux/kernel.h> 04 //Compulsory 05 //Module lincese declaration 06 MODULE_LICENSE("GPL"); ...

   module,kernel,Linux     2013-05-03 03:33:52

  A Fun Approach To Creating More Successful Websites

As Web designers and developers, each project we work with has a unique set of goals and requirements. But one goal we have for all of our projects is that we want them to make an impression on people — we want the websites that we create to be memorable. A fun experience is often an enjoyable one and an enjoyable experience is usually a memorable one. Therefore, it stands to reason that one of the ways to create a memorable experience is to make it a fun experience. In this article,...

   Web design,Elements,UI,Success     2012-03-05 05:10:07

  The Failure of Passive Recruiting: Recruiters

This is an actual conversation I had with a recruiter:Phone rings and I pick it upHim: Hi, is Paul there?Aaron: May I ask who is calling?Him: I have a technical question. Aaron: Ok, what is it?Him: Are you technical?Aaron: Yes. Who is this?Him: Who are you?Aaron: Are you a recruiter?Him: Yes and…Aaron: Great, send us your resumes, if we like what you send over, we’ll let you know if we want to meet with the candidates, other tha...

   Recruiter,HR,Recruitment,Failure,Hire     2011-10-26 06:59:33

  A Different Kind of Technical Interview

Everyone who's been programming professionally for a while knows the standard format of the technical interview. You go in, there's a whiteboard in the room, and you write code on it to answer questions.Everyone also has the same basic complaints about these interviews. In a normal work environment, you have access to an API or search engine, but at a whiteboard you don't. Whiteboard questions generally don't include much in the way of overall design, and they're typically limited to simple algo...

   Interview,Programming,Methods,Pairing     2011-06-04 07:56:21