{"push_id":1309186620,"size":8,"distinct_size":7,"ref":"refs/heads/feature/gh24-oldnew-hash-table","head":"6d0df66c17cbaf921b534fb9b0afa1e5f88cc2da","before":"73cc70c36eb7c2f68baf2162a0ead4006e455aa5","commits":[{"sha":"63de8ac3cdf4e962007a8fc34ba6175f25c4b7b8","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"add more missing api docs to hv.c and sv.c","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/63de8ac3cdf4e962007a8fc34ba6175f25c4b7b8"},{"sha":"3dca874aecfaa97c99927615fe5af9d65bf885f5","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"hash: refactor hash loops (WIP)\n\n* move utf8 flag to len. accessed directly as bitfield/word union.\n* use faster cmp with static hekcmp on the stack if <256 len.\n  with HAVE_ALLOCA we could avoid this limit and the branch at all.\n* to not try to fetch/exists/delete when !HvTOTALKEYS(hv),\n* do not even calc hash until we need it in hv_store.\n* fix some masked_flags to only use HVhek_WASUTF8 explicitly, nothing else.\n\nAdd some combined accessors:\nHEK_LEN_UTF8, HEK_FLAGS_UTF8 resp. HeKFLAGS_UTF8, HeKLEN_UTF8\n\nMixed endian = big endian: We assume mixed endian to have the MSB at first.\nIf not, the faster word accessor HEK_LEN_UTF8 needs to be split into the two old\nvariants.\n\nPerformance: bench.pl (mixed ackerman) is 5.43% faster,\nbut the micro-benchmarks from perlbench-run are 4% slower.\n\nbench.pl:\n\nmy @a = (0..31);\nmy %h = (1..100);\nmy $s = '0123456789';\nsub f {\n    my ($n) = @_;\n    $n % 2 and bless{1..4} and $h{$n} and $a[$n] and $s =~ s/$/../;\n    $n<2 and return $n;\n    f($n-1)+f($n-2)\n}\nf(27)","distinct":true,"url":"https://api.github.com/repos/perl11/cperl/commits/3dca874aecfaa97c99927615fe5af9d65bf885f5"},{"sha":"d305934754e92fa4345182fde1b29cf7705200c9","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"disable HV_STATIC_HEKCMP for now\n\n8% slower with modern Core-2 CPUs and\nPERL_PERTURB_KEYS_TOP with much less collisions.","distinct":true,"url":"https://api.github.com/repos/perl11/cperl/commits/d305934754e92fa4345182fde1b29cf7705200c9"},{"sha":"3a1ee8c4e8f17838a52f29ffd91193108ba92b40","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"hash: add bool HeKSVKEY(he), HEK_IS_SVKEY(hek)\n\nto check if a he is HEf_SVKEY (now checks hek_len_utf8 which is unsigned).\nand replace all `HeKLEN(entry) == HEf_SVKEY` with `HeKSVKEY(entry)`.\n\nNote that the mg_len still is signed and uses HEf_SVKEY (-2).\n\nNeeds changes in some XS modules, which checks the signed hek_len\nagainst HEf_SVKEY. Theoretically we could use a unsigned:31 HEf_SVKEY\nmask in hek_len alone, and keep the existing HeKLEN checks, but\n1. this is check is too fragile from the beginning, rather abstract it\n   to a proper macro.\n2. this would be independent on utf8, and setters need to set two values\n   then.\n\nMeasured 4.5% faster in bench.pl","distinct":true,"url":"https://api.github.com/repos/perl11/cperl/commits/3a1ee8c4e8f17838a52f29ffd91193108ba92b40"},{"sha":"de5fbe37064c410601ae3c31e9f8ebb426aa4d1d","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"Cpanel-JSON-XS: cperl change for HeKSVKEY(he)","distinct":true,"url":"https://api.github.com/repos/perl11/cperl/commits/de5fbe37064c410601ae3c31e9f8ebb426aa4d1d"},{"sha":"f9fc533596cd3ca6d6c9c875377442d631e2f489","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"Internals-DumpArenas: cperl change for HeKSVKEY(he)","distinct":true,"url":"https://api.github.com/repos/perl11/cperl/commits/f9fc533596cd3ca6d6c9c875377442d631e2f489"},{"sha":"14ed68def8f77c596aad4b5b2c382185d12dd3be","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"Hash-Util: cperl change for HeKSVKEY(he)","distinct":true,"url":"https://api.github.com/repos/perl11/cperl/commits/14ed68def8f77c596aad4b5b2c382185d12dd3be"},{"sha":"6d0df66c17cbaf921b534fb9b0afa1e5f88cc2da","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"hash: fixups","distinct":true,"url":"https://api.github.com/repos/perl11/cperl/commits/6d0df66c17cbaf921b534fb9b0afa1e5f88cc2da"}]}
{"actor":{"display_login":"rurban"}}