{"id":4807,"date":"2015-05-08T12:30:49","date_gmt":"2015-05-08T09:30:49","guid":{"rendered":"http:\/\/skeletor.org.ua\/?p=4807"},"modified":"2024-09-10T15:01:27","modified_gmt":"2024-09-10T12:01:27","slug":"note-to-people-who-think-that-freebsd-11-x-is-slow","status":"publish","type":"post","link":"https:\/\/skeletor.org.ua\/?p=4807","title":{"rendered":"NOTE TO PEOPLE WHO THINK THAT FreeBSD 11.x IS SLOW"},"content":{"rendered":"<p>FreeBSD 11.x has many debugging features turned on, in both the kernel and userland. These features attempt to detect incorrect use of system primitives, and encourage loud failure through extra sanity checking and fail stop semantics. They also substantially impact system performance. If you want to do performance measurement, benchmarking, and optimization, you&#8217;ll want to turn them off. This includes various WITNESS- related kernel options, INVARIANTS, malloc debugging flags in userland, and various verbose features in the kernel. Many developers choose to disable these features on build machines to maximize performance. (To completely disable malloc debugging, define MALLOC_PRODUCTION in \/etc\/make.conf, or to merely disable the most expensive debugging functionality run &#8220;ln -s &#8216;abort:false,junk:false&#8217; \/etc\/malloc.conf&#8221;.)<\/p>\n<p><span style=\"color: #ff6600;\"><em><strong>UPD. Use\u00a0WITH_MALLOC_PRODUCTION=yes in newer versions, staring 13.0<\/strong><\/em><\/span><\/p>\n<p>&nbsp;<\/p>\n\n\n<p>\u041e\u0441\u044c \u0442\u0430\u043a \u0431\u0443\u0434\u0435 \u043c\u0435\u043d\u0448\u0435 <strong>debug&#8217;u<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>WITHOUT_ASSERT_DEBUG=yes\nWITHOUT_LLVM_ASSERTIONS=yes\nWITHOUT_TESTS=yes\nWITH_MALLOC_PRODUCTION=yes\nMALLOC_PRODUCTION=yes<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>FreeBSD 11.x has many debugging features turned on, in both the kernel and userland. These features attempt to detect incorrect use of system primitives, and encourage loud failure through extra sanity checking and fail stop semantics. They also substantially impact system performance. If you want to do performance measurement, benchmarking, and optimization, you&#8217;ll want to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-4807","post","type-post","status-publish","format-standard","hentry","category-freebsd"],"_links":{"self":[{"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/posts\/4807","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4807"}],"version-history":[{"count":4,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/posts\/4807\/revisions"}],"predecessor-version":[{"id":6461,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/posts\/4807\/revisions\/6461"}],"wp:attachment":[{"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4807"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4807"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4807"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}