История изменений
Исправление alysnix, (текущая версия) :
судя по изложению по ссылке, рустята пытались превзойти сишные реализации, определенно ради медийного эффекта и даже привязались к конкретному процу.
смешное
Last time, we benchmarked using the target-cpu=native flag. That gave the best results for our implementation, but was not entirely fair because our rust implementation could assume that certain SIMD capabilities would be available, while zlib-ng had to check for them at runtime.
We have now made some changes so that we can efficiently select the most optimal implementation at runtime too.
то есть они пока не сделали рантайм определение проца. а на этот момент, проц зашит в код. а сишный код смотрит это в рантайме.
Picking the best version of a function is known as multiversioning. We have a baseline implementation that works on all CPUs, and then some number of specialized versions that use SIMD instructions or other features that may or may not be available on a particular CPU.
то есть у там набор функций, заточенных под разные процы, и рустята выкладываются по полной, чтобы обойти сишную либу на проценты.
короче лютый ансейф с заточкой под разные архитектуры… там от руста одно название уже.
Исходная версия alysnix, :
судя по изложению по ссылке, рустята пытались превзойти сишные реализации, определенно ради медийного эффекта и даже привязались к конкретному процу.
смешное
Last time, we benchmarked using the target-cpu=native flag. That gave the best results for our implementation, but was not entirely fair because our rust implementation could assume that certain SIMD capabilities would be available, while zlib-ng had to check for them at runtime.
We have now made some changes so that we can efficiently select the most optimal implementation at runtime too.
то есть они пока делают рантайм определение проца. а на этот момент, проц зашит в код. а сишный код смотрит это в рантайме.
Picking the best version of a function is known as multiversioning. We have a baseline implementation that works on all CPUs, and then some number of specialized versions that use SIMD instructions or other features that may or may not be available on a particular CPU.
то есть у там набор функций, заточенных под разные процы, и рустята выкладываются по полной, чтобы обойти сишную либу на проценты.
короче лютый ансейф с заточкой под разные архитектуры… там от руста одно название уже.