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...
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"); ...
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
RECENT
- The Role of Coding Skills in Advancing Tech Careers
- Tips for Socializing With Friends During College
- Proximity Cards Do More Than Just Open Doors
- How to choose quality painted auto parts
- Oval engagement rings from MoonOcean: Elegance of form and individual approach
- Hologres vs AWS Redshift
- GoLand connect to Hologres
- A journey to investigate a goroutine leakage case
- Understanding Slice Behavior in Go
- Breaking Barriers: How 3D Printing is Democratizing Product Development
- more>>