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

SEARCH KEYWORD -- Multi-core



  Practice of using spinlock instead of mutex

Spinlock and mutex are two important concepts in multithreading programs. They are used to lock some shared resource to prevent concurrent access which may affect data consistency. But they do have differences, what are the differences? when should we use spinlock instead of mutex? The Theory In theory, when a thread tries to lock a mutex and it does not succeed, because the mutex is already locked, it will go to sleep, immediately allowing another thread to run. It will continue to sleep until...

   Spinlock,Mutex,Concurrency     2014-04-19 21:54:12

  PHP Multithreading – Faking It

PHP doesn’t really support multi-threading per se but there are ways to do “fake” multithreading. Here’s one I saw in the PHPClasses.org newsletter – Multi-thread Simulation. Note that this class is intedend for use on a webserver, as opposed to running PHP scripts from a command line (or similar). Check the end of this post for some alternatives you can try if you’re using PHP as a stand-alone scripting language. Now, I’m going to be lazy and just ...

   PHP,Multithreading,Possible,CURL,Fake,Si     2011-09-04 23:07:22

  Deep Dive into Spin Locks in Golang

In concurrent programming, a Mutex is a commonly used synchronization mechanism to protect critical resources and prevent data races. However, in certain specific scenarios, especially when the lock-holding time is short and the number of threads is limited, a more lightweight lock known as a Spin Lock can provide higher performance. What is a Spin Lock A Spin Lock is a form of busy-wait lock. When a thread attempts to acquire a lock held by another thread, it continuously checks the lock's stat...

   SPINLOCK,MUTEX,GOLANG     2024-01-10 05:53:28

  Why is single threaded Redis so fast

Redis is a high-performance, in-memory key-value database. According to official test reports, it can support around 100,000 QPS (queries per second) on a single machine. However, Redis uses a single-threaded architecture in its design. Why does Redis still have such high performance with a single-threaded design? Wouldn't it be better to use multiple threads for concurrent request processing? In this article, let's explore why Redis has a single-threaded architecture and still maintains its spe...

   REDIS,SINGLE-THREADED,MULTI-THREADING     2023-02-28 05:16:22

  Google launched new Chromebook in cooperation with Samsung

According to report from technology blog GigaOm, Google and its partner Samsung launched a new Chromebook and Chromebox yesterday, mainly targeting at education and corporation market.New Chromebook looks like any other 12.1 inch computer, while Chromebox is a mini PC that can be connected to peripherals such as keyboard, mouse and monitor, just like Apple’s Mac Mini. Currently prices for Chromebook and Chromebox are $499 and $329 respectively.They both are equipped with Intel Core proces...

   Google,Chromebook,Samsung     2012-05-30 04:58:28

  Multi-master,NoSQL and MySQL

The MySQL family has been innovating rapidly. New features need names and sometimes those names are confusing. Describing something as multi-master or a NoSQL solution has confused me.Multi-master requires one of conflict prevention, conflict resolution or faith. MySQL Cluster provides both conflict prevention and resolution as described in these great posts. Regular MySQL has minimal support for conflict prevention (auto-increment-offset can prevent insert conflict...

   MySQL,NoSQL,Comparison,RANT,Master     2011-10-17 11:30:42

  New Android simulator has some big improvements

Message from the Android developer blog, the Android emulator now has a number of improvements and optimizations. It allows developers to develop applications more conveniently.The Android emulator is an important tool for Android developers developing and testing applications. Due to the rapid growth of Android hardware, the simulator has been slightly left behind. The new simulator brings some new functions including support for GPU, the CPU acceleration sensor support, multi-touch input suppo...

   Android, Simulator,GPU,OpenGL     2012-04-10 13:02:31

  Simplicity Oriented Programming

After few years on Warsztat (a Polish gamedev site) I’ve noticed an interesting phenomenon. Every now and then there are Compos (programming competitions) organized in two different flavours. Some compos are single-run events that last only few hours, others are long-term (several days/weeks). And as an extra catch, the former are usually restricted to basic APIs (SDL, OpenGL etc) while the latter are free-for-all (all sorts of engines, UDK/Unity allowed). Now, results are somewhat shocki...

   Programming,Research,Advice,Time efficie     2011-08-04 01:55:40

  An experience of fixing a memory-corruption bug

During the last 4 months, I was disturbed by a memory-corruption bug, and this bug will cause program crash. Until last Monday, I found the root cause and fixed it. This debug process is a difficult but memorable experience, so I will share it in this article.   My program works as a SMS Hub. When it receives a SMS, it will allocate a structure in heap memory like this: typedef struct { ...... int *a[8]; ...... } info; After processing the SMS, the program will free the m...

   c, debug, unix, solaris, multi-thread     2014-05-04 03:52:43

  jQuery 2.0 will drop support for some IE6/7/8 oddities

jQuery official website releases its road map for the future jQuery development. This road map reveals that jQuery 1.8 will be released within a month and other consecutive versions will follow the following release plan:jQuery 1.9 (early 2013): many of the interfaces already deprecated in version 1.8 will be removed; some of them will be available as plugins or alternative APIs supported by the jQuery project. IE 6/7/8 will be supported as today.jQuery 1.9.x (ongoing in 2013 and beyond): This v...

   jQuery 2.0,jQuery,IE support     2012-06-29 05:20:27