Multi-Threading in PHP with pthreads
A Brief Introduction to Multi-Threading in PHP
|# git-mv-with-history -- move/rename file or folder, with history.|
|# Moving a file in git doesn't track history, so the purpose of this|
|# utility is best explained from the kernel wiki:|
|# Git has a rename command git mv, but that is just for convenience.|
|# The effect is indistinguishable from removing the file and adding another|
|# with different name and the same content.|
This is just a small post in response to [this tweet][tweet] by Julien Pauli (who by the way is the release manager for PHP 5.5). In the tweet he claims that objects use more memory than arrays in PHP. Even though it can be like that, it's not true in most cases. (Note: This only applies to PHP 5.4 or newer.)
The reason why it's easy to assume that objects are larger than arrays is because objects can be seen as an array of properties and a bit of additional information (like the class it belongs to). And as
array + additional info > array it obviously follows that objects are larger. The thing is that in most cases PHP can optimize the
array part of it away. So how does that work?
The key here is that objects usually have a predefined set of keys, whereas arrays don't:
The standard way of understanding the HTTP protocol is via the request reply pattern. Each HTTP transaction consists of a finitely bounded HTTP request and a finitely bounded HTTP response.
However it's also possible for both parts of an HTTP 1.1 transaction to stream their possibly infinitely bounded data. The advantages is that the sender can send data that is beyond the sender's memory limit, and the receiver can act on
This is a very simple git workflow. It (and variants) is in use by many people. I settled on it after using it very effectively at Athena. GitHub does something similar; Zach Holman mentioned it in this talk.
Update: Woah, thanks for all the attention. Didn't expect this simple rant to get popular.
First, visit any repository on GitHub and click your way through to the issues page.
Create a new issue by clicking the New Issue button. You'll now see title and description fields.
Drag-and-drop an image on to the description field. This will start the uploading process.
Copy the URL and use it in README, issues or pull requests however you like.