Boom! Skull-Engine Released

Skull
I’m so excited to announce that the Skull-Engine is released today! Follow me to see the details.

What’s Skull

Skull is a serving framework, it can start fast, has high development productivity and is easy to maintain.

Why was Skull born?

To start a new project, we usually need to read tons of documentations of the chosen framework/tech stack, then decide whether to use it and how to use it. It may take a week or more for a newbie, even for an expert, it sometimes still needs a batch of trivial efforts to build it from a scratch. It’s really a terrible experience for us. Life is short, let’s save the time on the most important things instead.

After we have a project, we will need to modify the code/configuration again and again, and do the test, sometimes we really want to switch to another language to solve a specific problem, but it’s extremely hard to do that since we’ve already chosen a programing language for the project at the beginning. Have you ever regretted for the decision? For example, C/C++ provides high runtime performance, but the development cycle is very long, people should be really careful to deal with the low-level memory issues; On another hand, Python has rich packages to solve the problems, but the performance is much worse than C/C++, could we use them all in one program, to choose the right language in the right place, and the different language can communicate with each other very easily and smoothly?

Besides, it’s hard for people to understand the complex program, especially when the code become more complex and huge, it’s just like a big black box, and no one knows how it works, it would become un-maintainable since no one can see it clearly, even a basic workflow. Imagine that, how could a programmer figure out the basic workflow of a complex program without documentation in 5 minutes?

Under this situation, Skull was born to solve those kinds of problems.

Read more

Compile mutrace on RHEL6

Why mutrace Recently, I want to profile the linux user lock(pthread mutex/rwlock) performance of a project, and there are few options for this purpose: valgrind(drd) systemtap(futexes.stp) lttng mutrace Finally, I selected the mutrace due to: valgrind(drd): It’s really slow, cannot provide credible information. systemtap(futexes.stp): It’s really great in profiling kernel, but the user layer profile … Read more