Skip to content
View -
#!/bin/bash
set -e
# https://github.com/hhvm/homebrew-hhvm/blob/master/hhvm.rb
prefix=/opt/local
# find . -type f -iname "CMakeCache.txt" -delete
# find . -type d -iname "CMakeFiles" | xargs -I{} rm -rf {}
# git submodule update --recursive --force --init
# -DCMAKE_BUILD_TYPE=Debug \
cmake . \
-Wno-dev \
View gist:d149b975711559158c40
- C 語言
- Data Type
- Function
- Stack && Heap Memory
- PHP Extension
- How Extension Works?
- Basic Skeleton
- Build!
- Adding Functions
- Parsing parameters
View bench-master.txt
simple 0.155
simplecall 0.058
simpleucall 0.142
simpleudcall 0.164
mandel 0.729
mandel2 0.709
ackermann(7) 0.149
ary(50000) 0.021
ary2(50000) 0.017
ary3(2000) 0.413
View first-route-sf2.php
<?php
use Symfony\Component\Routing\Exception\MethodNotAllowedException;
use Symfony\Component\Routing\Exception\ResourceNotFoundException;
use Symfony\Component\Routing\RequestContext;
/**
* FirstRouteSf2UrlMatcher.
*
* This class has been auto-generated
View reset.c
zend_hash_internal_pointer_reset_ex(hash, &pos);
View hash.c
for(zend_hash_internal_pointer_reset_ex(hash, &pos);
zend_hash_get_current_data_ex(hash, (void**) &data, &pos) == SUCCESS;
zend_hash_move_forward_ex(hash, &pos))
{
}
View gist:7819041ea3578d11d98a
在這個 Session 我們會探討 CodeGen 在 PHP 中的應用,
從低階的 Machine code generation (JIT) 到高階的 PHP code generation (PHP code)。
直譯式語言的動態呼叫非常慢,像是 PHP 的 magic methods,他們沒有辦法被靜態分析或被 IDE 用作自動補齊的資訊
但為了改善程式的彈性,很多時候無法避免使用這樣的技巧。
在 PHP 所開發完成的應用程式中,也有許多重複的條件檢查,其實可以在編譯時期被優化,來減少執行期間所產生的多餘消耗。
如果我們能夠在執行程式之前,就知道這些執行所需的資訊(譬如 Model 的欄位, Controller actions, validation 的類型等等),
就可以預先產生好這些程式碼,來減少執行期間的檢查與計算,透過同樣的技巧,也可以讓我們少寫更多程式碼。
View git-truncate-rev
#!/bin/bash
git checkout --orphan temp $1
git commit -m "Truncated history"
git rebase --onto temp $1 master
git branch -D temp
View AuthorizerTest.php
<?php
use Kendo\DefinitionStorage;
use SimpleApp\SimpleDefinition;
use SimpleApp\User\NormalUser;
use Kendo\RuleLoader\RuleLoader;
use Kendo\RuleLoader\DefinitionRuleLoader;
use Kendo\RuleMatcher\AccessRuleMatcher;
use Kendo\Operation\CommonOperation;
use Kendo\IdentifierProvider\ActorIdentifierProvider;
View -
#!/bin/bash
source /etc/profile
ANSI_RED="\033[31;1m"
ANSI_GREEN="\033[32;1m"
ANSI_RESET="\033[0m"
ANSI_CLEAR="\033[0K"
TRAVIS_TEST_RESULT=
TRAVIS_CMD=
Something went wrong with that request. Please try again.