標籤: 貨運

  • (數據科學學習手札86)全平台支持的pandas運算加速神器

    (數據科學學習手札86)全平台支持的pandas運算加速神器

    本文示例代碼已上傳至我的Github倉庫https://github.com/CNFeffery/DataScienceStudyNotes

    1 簡介

      隨着其功能的不斷優化與擴充,pandas已然成為數據分析領域最受歡迎的工具之一,但其仍然有着一個不容忽視的短板——難以快速處理大型數據集,這是由於pandas中的工作流往往是建立在單進程的基礎上,使得其只能利用單個處理器核心來實現各種計算操作,這就使得pandas在處理百萬級、千萬級甚至更大數據量時,出現了明顯的性能瓶頸。

      本文要介紹的工具modin就是一個致力於在改變代碼量最少的前提下,調用起多核計算資源,對pandas的計算過程進行并行化改造的Python庫,並且隨着其近期的一系列內容更新,modin基於Dask開始對Windows系統同樣進行了支持,使得我們只需要改變一行代碼,就可以在所有平台上獲得部分pandas功能可觀的計算效率提升。

    圖1

    2 基於modin的pandas運算加速

      modin支持WindowsLinux以及Mac系統,其中LinuxMac平台版本的modin工作時可基於并行運算框架RayDask,而Windows平台版本目前只支持Dask作為計算後端(因為Ray沒有Win版本),安裝起來十分方便,可以用如下3種命令來安裝具有不同後端的modin

    pip install modin[dask] # 安裝dask後端
    pip install modin[ray] # 安裝ray後端(windows不支持)
    pip install modin[all] # 推薦方式,自動安裝當前系統支持的所有後端
    

      本文在Win10系統上演示modin的功能,執行命令:

    pip install modin[all]
    

      成功安裝modin+dask之後,在使用modin時,只需要將我們習慣的import pandas as pd變更為import modin.pandas as pd即可,接下來我們來看一下在一些常見功能上,pandasVSmodin性能差異情況,首先我們分別使用pandasmodin讀入一個大小為1.1G的csv文件esea_master_dmg_demos.part1.csv,來自kaggle(https://www.kaggle.com/skihikingkevin/csgo-matchmaking-damage/data),記錄了關於熱門遊戲CS:GO的一些玩家行為數據,因為體積過大,請感興趣的讀者朋友自行去下載:

    圖2

      為了區分他們,在導入時暫時將modin.pandas命名為mpd

    圖3

      可以看到因為是Win平台,所以使用的計算後端為Dask,首先我們來分別讀入文件查看耗時:

    圖4

      藉助jupyter notebook記錄計算時間的插件,可以看到原生的pandas耗時14.8秒,而modin只用了5.32秒,接着我們再來試試concat操作:

    圖5

      可以看到在pandas花了8.78秒才完成任務的情況下,modin僅用了0.174秒,取得了驚人的效率提升。接下來我們再來執行常見的檢查每列缺失情況的任務:

    圖6

      這時耗時差距雖然不如concat操作時那麼巨大,也是比較可觀的,但是modin畢竟是一個處理快速開發迭代階段的工具,其針對pandas的并行化改造尚未覆蓋全部的功能,譬如分組聚合功能。對於這部分功能,modin會在執行代碼時檢查自己是否支持,對於尚未支持的功能modin會自動切換到pandas單核後端來執行運算,但由於modin中組織數據的形式與pandas不相同,所以中間需要經歷轉換:

    圖7

      這種時候modin的運算反而會比pandas慢很多:

    圖8

      因此我對modin持有的態度是在處理大型數據集時,部分應用場景可以用其替換pandas,即其已經完成可靠并行化改造的pandas功能,你可以在官網對應界面(https://modin.readthedocs.io/en/latest/supported_apis/index.html )查看其已經支持及尚未良好支持的功能,,因為modin還處於快速開發階段,很多目前無法支持的功能也許未來不久就會被加入modin

    圖9

      以上就是本文的全部內容,如有疑問歡迎在評論區與我討論。

    本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

    【其他文章推薦】

    網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

    網頁設計公司推薦不同的風格,搶佔消費者視覺第一線

    ※Google地圖已可更新顯示潭子電動車充電站設置地點!!

    ※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

    ※別再煩惱如何寫文案,掌握八大原則!

    網頁設計最專業,超強功能平台可客製化

    ※回頭車貨運收費標準

  • 樹莓派使用 OLED 屏显示圖片及文字

    樹莓派使用 OLED 屏显示圖片及文字

    樹莓派默認是不帶显示屏的,如果想要查看系統的一些信息,需要使用電腦登錄到樹莓派,或者通過 HDMI 連接外接显示器查看。這樣做總是有點麻煩,我們可以通過外接一個 OLED 屏來显示一些關鍵參數或者圖片。本文將詳細介紹操作方法。

    OLED 模組介紹

    OLED 屏主要有兩種:128×32 和 128×64 ,主要顏色是白、黃、藍。OLED 屏的特點是功耗低,價格便宜,使用 I2C 接口與主機連接。本文所使用的是 128×64 尺寸的屏幕,外形如下:

    它的接口很簡單,只有 4 個 Pin 腳:VCC,GND,SDA,SCL,所以它與樹莓派的連接也很簡單,如下圖所示(本文使用樹莓派 3B):

    開啟 I2C 接口

    樹莓派默認是不開啟 I2C 接口的,所以我們需要手動打開它。執行以下命令:

    $ sudo apt-get install -y python-smbus
    $ sudo apt-get install -y i2c-tools
    $ sudo raspi-config
    

    然後按以下動圖方式開啟 I2C 功能。

    安裝 OLED 屏的 Python 庫

    為了在 OLED 屏上显示文字或圖像,我們需要使用到 Adafruit 的 Python 庫,這個庫支持所有的 SSD1306 相關的显示屏,包括 128×32 和 128×64 屏幕。

    首先我們需要下載這個庫:

    $ git clone https://github.com/adafruit/Adafruit_Python_SSD1306.git
    

    然後進入到目錄,再進行安裝:

    $ cd Adafruit_Python_SSD1306
    $ sudo python3 setup.py install	# 如果使用 Python2 ,則使用對應命令
    

    找到 OLED 模組地址

    安裝好 Python 庫之後,我們可以使用 i2cdetect 命令來找到 OLED 屏的物理地址:

    $ i2cdetect -y 1
    

    我們會得到類似這樣的輸出:

    不同的模組可能得到不同的輸出。這裏我們的 I2C 地址就是 0x3C。如果你使用的是初代樹莓派(256MB的樹莓派1代B),那麼需要使用下面的命令:

    $ i2cdetect -y 0
    

    使用 OLED 屏显示圖像及文字

    在剛剛下載的那個庫文件里,有一個 examples 目錄,在那個目錄里,我們可以看到以下內容:

    • animate.py
    • buttons.py
    • image.py
    • shapes.py
    • stats.py

    這幾個文件我們可以直接運行,比如:

    $ python3 shapes.py
    

    這幾個文件運行的結果如下圖示:

    屏幕尺寸適配

    以上的幾個示例文件里,它們都默認你的屏幕尺寸是 128×32 ,但它們依然可以跑在 128×64 的屏幕上。如果我們想要看得更舒服一點,我們可以將尺寸進行適配。

    在每個 Python 文件里,都有下面這麼一段代碼:

    這裏也寫得很清楚了,上下兩行代碼分別代表 128×32 和 128×64 的屏幕,使用何種尺寸的屏幕,只需將對應的代碼前面的 # 去掉即可。

    公眾號:良許Linux

    有收穫?希望老鐵們來個三連擊,給更多的人看到這篇文章

    本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

    【其他文章推薦】

    網頁設計公司推薦不同的風格,搶佔消費者視覺第一線

    ※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

    ※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

    南投搬家公司費用需注意的眉眉角角,別等搬了再說!

    ※教你寫出一流的銷售文案?

    ※回頭車貨運收費標準

    ※別再煩惱如何寫文案,掌握八大原則!

  • 四、歸併排序 && 快速排序

    四、歸併排序 && 快速排序

    一、歸併排序 Merge Sort

    1.1、實現原理

    • 如果要排序一個數組,我們先把數組從中間分成前後兩部分,然後對前後兩部分分別排序,再將排好序的兩部分合併在一起,這樣整個數組就都有序了。
    • 歸併排序使用的就是分治思想。分治,顧名思義,就是分而治之,將一個大問題分解成小的子問題來解決。小的子問題解決了,大問題也就解決了。
    • 分治思想跟遞歸思想很像。分治算法一般都是用遞歸來實現的。 分治是一種解決問題的處理思想,遞歸是一種編程技巧,這兩者並不衝突。
    • 寫遞歸代碼的技巧就是,分析得出遞推公式,然後找到終止條件,最後將遞推公式翻譯成遞歸代碼。所以,要想寫出歸併排序的代碼,我們先寫出歸併排序的遞推公式。
    • 遞推公式:erge_sort(p…r) = merge(merge_sort(p…q), merge_sort(q+1…r))
    • 終止條件:p >= r 不用再繼續分解
    • merge_sort(p…r)表示,給下標從 p 到 r 之間的數組排序。
    • 我們將這個排序問題轉化為了兩個子問題, merge_sort(p…q) 和 merge_sort(q+1…r),其中下標 q 等於 p 和 r 的中間位置,也就是 (p+r)/2。
    • 當下標從 p 到 q 和從 q+1 到 r 這兩個子數組都排好序之後,我們再將兩個有序的子數組合併在一起,這樣下標從 p 到 r 之間的數據就也排好序了。
    • 實現思路如下:
    /**
     * 歸併排序
     * @param arr 排序數據
     * @param n   數組大小
     */
    public static void merge_sort(int[] arr, int n) {
        merge_sort_c(arr, 0, n - 1);
    }
    
    // 遞歸調用函數
    public static void merge_sort_c(int[] arr, int p, int r) {
        // 遞歸終止條件
        if (p >= r) {
            return;
        }
        // 取p到r之間的中間位置q
        int q = (p + r) / 2;
    
        // 分治遞歸
        merge_sort_c(arr, p, q);
        merge_sort_c(arr, q + 1, r);
        // 將 arr[p...q] 和 arr[q+1...r] 合併為 arr[p...r]
        merge(arr[p...r],arr[p...q],arr[q + 1...r]);
    }
    
    • merge(arr[p…r], arr[p…q], arr[q + 1…r]) 這個函數的作用就是,將已經有序的 arr[p…q] 和 arr[q+1…r] 合併成一個有序的數組,並且放入 arr[p…r]。
    • 如下圖所示,我們申請一個臨時數組 tmp,大小與 arr[p…r] 相同。
    • 我們用兩個游標 i 和 j,分別指向 arr[p…q] 和 arr[q+1…r] 的第一個元素。
    • 比較這兩個元素 arr[i] 和 arr[j],如果 arr[i] <= arr[j],我們就把 arr[i] 放入到臨時數組 tmp,並且 i 后移一位,否則將 arr[j] 放入到數組 tmp,j 后移一位。
    • 繼續上述比較過程,直到其中一個子數組中的所有數據都放入臨時數組中,再把另一個數組中的數據依次加入到臨時數組的末尾,這個時候,臨時數組中存儲的就是兩個子數組合併之後的結果了。
    • 最後再把臨時數組 tmp 中的數據拷貝到原數組 arr[p…r] 中。
    /**
     * merge 合併函數
     * @param arr 數組
     * @param p   數組頭
     * @param q   數組中間位置
     * @param r   數組尾
     */
    public static void merge(int[] arr, int p, int q, int r) {
        if (r <= p) return;
    
        // 初始化變量i j k
        int i = p;
        int j = q + 1;
        int k = 0;
    
        // 申請一個大小跟A[p...r]一樣的臨時數組
        int[] tmp = new int[r - p + 1];
    
        // 比較排序移動到臨時數組
        while ((i <= q) && (j <= r)) {
            if (arr[i] <= arr[j]) {
                tmp[k++] = arr[i++];
            } else {
                tmp[k++] = arr[j++];
            }
        }
    
        // 判斷哪個子數組中有剩餘的數據
        int start = i, end = q;
        if (j <= r) {
            start = j;
            end = r;
        }
    
        // 將剩餘的數據拷貝到臨時數組tmp
        while (start <= end) {
            tmp[k++] = arr[start++];
        }
    
        // 將tmp中的數組拷貝回 arr[p...r]
        for (int a = 0; a <= r - p; a++) {
            arr[p + a] = tmp[a];
        }
    }
    

    1.2、性能分析

    • 歸併排序穩不穩定關鍵要看 merge() 函數,也就是兩個有序子數組合併成一個有序數組的那部分代碼。
    • 在合併的過程中,如果 arr[p…q] 和 arr[q+1…r] 之間有值相同的元素,那我們可以像偽代碼中那樣,先把 arr[p…q] 中的元素放入 tmp 數組。
    • 這樣就保證了值相同的元素,在合併前後的先後順序不變。所以,歸併排序是一個穩定的排序算法
    • 其時間複雜度是非常穩定的,不管是最好情況、最壞情況,還是平均情況,時間複雜度都是 O(nlogn)
    • 歸併排序的合併函數,在合併兩個有序數組為一個有序數組時,需要藉助額外的存儲空間。
    • 儘管每次合併操作都需要申請額外的內存空間,但在合併完成之後,臨時開闢的內存空間就被釋放掉了。在任意時刻,CPU 只會有一個函數在執行,也就只會有一個臨時的內存空間在使用。
    • 臨時內存空間最大也不會超過 n 個數據的大小,所以空間複雜度是 O(n),不是原地排序算法。

    二、快速排序 Quicksort

    2.1、實現原理

    • 快排的思想是:如果要排序數組中下標從 p 到 r 之間的一組數據,可以選擇 p 到 r 之間的任意一個數據作為 pivot(分區點)。
    • 遍歷 p 到 r 之間的數據,將小於 pivot 的放到左邊,將大於 pivot 的放到右邊,將 pivot 放到中間。
    • 經過這一步驟之後,數組 p 到 r 之間的數據就被分成了三個部分,前面 p 到 q-1 之間都是小於 pivot 的,中間是 pivot,後面的 q+1 到 r 之間是大於 pivot 的。
    • 根據分治、遞歸的處理思想,可以用遞歸排序下標從 p 到 q-1 之間的數據和下標從 q+1 到 r 之間的數據,直到區間縮小為 1,就說明所有的數據都有序了。
    • 用遞推公式來將上面的過程寫出來的話,就是這樣:quick_sort(p…r) = quick_sort(p…q-1) + quick_sort(q+1, r)。
    • 終止條件:p >= r
    /**
     * 快速排序
     * @param arr 排序數組
     * @param p 數組頭
     * @param r 數組尾
     */
    public static void quickSort(int[] arr, int p, int r) {
        if (p >= r) 
            return;
        // 獲取分區點 並移動數據
        int q = partition(arr, p, r);
        quickSort(arr, p, q - 1);
        quickSort(arr, q + 1, r);
    }
    

    partition() 分區函數:

    • 是隨機選擇一個元素作為 pivot(一般情況下,可以選擇 p 到 r 區間的最後一個元素),然後對 arr[p…r] 分區,並將小於 pivot 的放右邊,大於的放左邊,函數返回 pivot 的下標。

    partition() 的實現有兩種方式:

    • 一種是不考慮空間消耗,此時非常簡單。

      • 申請兩個臨時數組 X 和 Y,遍歷 arr[p…r],將小於 pivot 的元素都拷貝到臨時數組 X,將大於 pivot 的元素都拷貝到臨時數組 Y,最後再將數組 X 和數組 Y 中數據順序拷貝到arr[p…r]。
      /**
       * 分區函數方式一
       *
       * @param arr 數組
       * @param p   上標
       * @param r   下標
       * @return 函數返回 pivot 的下標
       */
      public static int partition1(int[] arr, int p, int r) {
          int[] xArr = new int[r - p + 1];
          int x = 0;
      
          int[] yArr = new int[r - p + 1];
          int y = 0;
      
          int pivot = arr[r];
      
          // 將小於 pivot 的元素都拷貝到臨時數組 X,將大於 pivot 的元素都拷貝到臨時數組 Y
          for (int i = p; i < r; i++) {
              // 小於 pivot 的存入 xArr 數組
              if (arr[i] < pivot) {
                  xArr[x++] = arr[i];
              }
              // 大於 pivot 的存入 yArr 數組
              if (arr[i] > pivot) {
                  yArr[y++] = arr[i];
              }
          }
      
          int q = x + p;
          // 再將數組 X 和數組 Y 中數據順序拷貝到 arr[p…r]
          for (int i = 0; i < x; i++) {
              arr[p + i] = xArr[i];
          }
          arr[q] = pivot;
          for (int i = 0; i < y; i++) {
              arr[q + 1 + i] = yArr[i];
          }
      
          return q;
      }
      
    • 另外一種有點類似選擇排序。

      • 我們通過游標 i 把 arr[p…r-1] 分成兩部分。arr[p…i-1] 的元素都是小於 pivot 的,我們暫且叫它“已處理區間”,arr[i…r-1] 是“未處理區間”。
      • 我們每次都從未處理的區間 arr[i…r-1] 中取一個元素 arr[j],與 pivot 對比,如果小於 pivot,則將其加入到已處理區間的尾部,也就是 arr[i]的位置。
      • 在數組某個位置插入元素,需要搬移數據,非常耗時。此時可以採用交換,在 O(1) 的時間複雜度內完成插入操作。需要將 arr[i] 與 arr[j] 交換,就可以在 O(1)時間複雜度內將 arr[j] 放到下標為 i 的位置。
      /**
       * 分區函數方式二
       * @param arr 數組
       * @param p   上標
       * @param r   下標
       * @return 函數返回pivot的下標
       */
      public static int partition2(int[] arr, int p, int r) {
          int pivot = arr[r];
          int i = p;
          for (int j = p; j < r; j++) {
              if (arr[j] < pivot) {
                  if (i == j) {
                      ++i;
                  } else {
                      int tmp = arr[i];
                      arr[i++] = arr[j];
                      arr[j] = tmp;
                  }
              }
          }
          int tmp = arr[i];
          arr[i] = arr[r];
          arr[r] = tmp;
          return i;
      }
      

    2.2、性能分析

    • 因為分區的過程涉及交換操作,如果數組中有兩個相同的元素,比如序列 6, 8, 7, 6, 3, 5, 9, 4,在經過第一次分區操作之後,兩個 6 的相對先後順序就會改變。所以,快速排序並不是穩定的排序算法
    • 按照上面的第二種分區方式,快速排序只涉及交換操作,所以空間複雜度為 Q(1),是原地排序算法
    • 時間複雜度為 Q(nlogn),最差為Q(n²)

    三、兩者對比

    歸併排序 快速排序
    排序思想 處理過程由下到上,先處理子問題,然後在合併 由上到下,先分區,在處理子問題
    穩定性
    空間複雜度 Q(n) Q(1) 原地排序算法
    時間複雜度 都為 O(nlogn) 平均為 O(nlogn),最差為 O(n²)
    • 歸併之所以是非原地排序算法,主要原因是合併函數無法在原地執行。快速排序通過設計巧妙的原地分區函數,可以實現原地排序,解決了歸併排序佔用太多內存的問題。
    • 歸併排序算法是一種在任何情況下時間複雜度都比較穩定的排序算法,這也使它存在致命的缺點,即歸併排序不是原地排序算法,空間複雜度比較高,是 O(n)。正因為此,它也沒有快排應用廣泛。

    本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

    【其他文章推薦】

    ※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

    網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

    ※想知道最厲害的網頁設計公司"嚨底家"!

    ※別再煩惱如何寫文案,掌握八大原則!

    ※產品缺大量曝光嗎?你需要的是一流包裝設計!

    ※回頭車貨運收費標準

    台中搬家公司費用怎麼算?

  • 久等了各位,高速又穩定的 Crucial P5 NVMe SSD 開箱實測

    久等了各位,高速又穩定的 Crucial P5 NVMe SSD 開箱實測

    為大家介紹來自大廠美光的 Crucial P5 NVMe SSD 開箱實測,SSD越來越普及的世代,M.2 SSD已經成為了電腦系統碟的第一首選,更小的體積、更大的儲存空間都是M.2 SSD所擁有的優勢,不過決定性的關鍵就在於越來越快的傳輸速度,因此來到了PCIe Gen 3 x4的世代,如何能夠發揮其最快的傳輸速度,是每個廠商著重發展的目標,而傳統大廠美光一貫以來就是穩扎穩打的風格,終於也在近期推出了Crucial P系列的高階款P5,擁有3400 MB/s 的循序讀取與 3000 MB/s 的循序寫入,今天就讓我們來看看這款目前Crucial最高速的P5 NVMe SSD。

    Crucial P5 NVMe SSD 簡易開箱

    P系列產品一貫的外包裝。

    內容物包含了一張說明書、一張 Crucial P5 NVMe SSD。

    這次在標示上,反而是將相關資訊的貼紙放到了背後,而且背部沒有焊接任何零件,表示Crucial P5為單面上料設計,薄型化更能夠提升相容性,例如安裝於空間受限的超輕薄筆記型電腦。

    在前方的部分,則是貼上了一張黑色標有P5的貼紙。

    撕開貼紙後可以看到 1TB 版本搭載了兩顆 NW969 Micron 96-Layer 3D NAND TLC 顆粒。

    快取記憶體的部分,1TB版本是採用了Micron的D9ZCM 1GB LPDDR4,根據容量大小不同採用了不同的記憶體容量。

    主控晶片則是同樣採用了Micron的DM01B2 控制器。

     

    Crucial P5 NVMe SSD 上機實測

    首先我們先使用CrystalDiskInfo看看這顆Crucial P5 NVMe SSD的相關資訊,走的是PCIe 3.0 x4的通道,因此如果主機板上的M.2不是走PCIe 3.0 x4的話,可能就沒辦法發揮出Crucial P5 NVMe SSD的最大效能。

    實測的部分,首先先以 CrystalDiskMark 進行讀寫測試,讀取速度為 3529 MB/s、寫入速度為 2898.8 MB/s,非常快的讀寫速度,讀取的速度甚至超越了官方提供的數據。

    接著以 ATTO Disk Benchmark 進行讀寫測試,讀取速度最高為3314 MB/s、寫入速度最高為 2843 MB/s。

    接著再以 TxBENCH 進行讀寫測試,讀取速度為 3426.1 MB/s、寫入速度為 3212.2 MB/s。

    在AIDA64的Disk Benchmark裡,我們使用線性讀取進行測試,可以看到P5 NVMe SSD非常穩定的維持在3000 MB/s上下的讀取速度,測試全磁區時長21分鐘,平均讀取速讀為2928.4 MB/s。

    最後用 AS SSD Benchmark 進行測試,讀寫速度為 2888.88 MB/s 與 2535.52 MB/s,綜合分數為 5131,這個分數相比自家P1 NVMe SSD還要高出一倍之多。

     

    Crucial P5 NVMe SSD 實戰測試

    這次實戰測試我們主要以轉檔速度做一個比較,針對的對象我們分為兩部分,一個是平均流量為20 Mbps的10分多鐘影片,分在P5 NVMe SSD、SATA SSD以及傳統HDD裡面,其轉檔速度的比較。首先是放在HDD裡面的素材進行轉檔至HDD,其轉檔的速度為1分26秒。

    同樣的素材、同樣的動作,放到了SATA SSD裡面進行轉檔,花費時間縮短到了1分01秒。

    最後就到了我們今天的主角P5 NVMe SSD,進行了相同的步驟,花費的時間為1分鐘整,相比SATA SSD快了一秒,似乎看不太出來其威力所在,這主要的原因是因為原始檔案的流量不大,所以在SATA SSD跟NVMe SSD的讀取速度下,本來就不會有分別。

    因此我們將轉檔的素材放大,我們選了一段近2分鐘的8K H.265影片(S21拍攝檔),要把它轉檔成H.264的8K影片,這樣似乎就可以看出分別。首先一樣是HDD的表現,不過這次我們直接將轉檔的資訊列出,我們可以看到在HDD運行的轉檔時間為30分27秒,相當的久。

    而同樣的步驟放到了SATA SSD裡面的話,則是需要花費11分14秒的時間。

    最後則是P5 NVMe SSD的表現,時間硬生生的縮短到了9分35秒,因此可以發現當流量越大的檔案,就可以發揮出P5 NVMe SSD強大的效能。

    總結

    在M.2 SSD越來越普及的現在,選擇越來越多的情況下,如何能夠挑到一個高速又穩定的SSD是個課題,而今天我們測試的P5 NVMe SSD無論是在速度上還是在穩定性上,都有著非常優秀的表現,尤其是在耐久性上,1TB版本有著600TBW的讀寫壽命,搭配其本身自帶的五年保固,再加上了許多表面上看不到,但實際上卻又有著非常多的進階功能,包含了動態寫入加速、獨立容錯陣列、多步驟資料完整性算法、過熱保護等等,這些實際上看不到,暗地裡默默地守護電腦資料的安全性,美光品質絕對可靠!可以說是非常值得推薦的好產品,推薦給大家。

    您也許會喜歡:

    【推爆】終身$0月租 打電話只要1元/分

    立達合法徵信社-讓您安心的選擇

    【其他文章推薦】

    ※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

    ※別再煩惱如何寫文案,掌握八大原則!

    ※教你寫出一流的銷售文案?

    ※超省錢租車方案

    ※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

    ※產品缺大量曝光嗎?你需要的是一流包裝設計!

    ※回頭車貨運收費標準

  • Pixel 5a 渲染洩漏,外型與 4a 5G 幾乎相同

    Pixel 5a 渲染洩漏,外型與 4a 5G 幾乎相同

    如果說 Google 的下一款手機是 Pixel 5a ,這點絲毫沒有任何怪亦之處,從今天洩漏的渲染中更是表明了這款新機與去年推出的 4a 5G 幾乎相同,儘管在外型上還是有做出一些調整。按照 Google 每年推出新機的步調來看,如果沒有意外,我們或許會在今年上半看到這款新機正式露臉。

    Pixel 5a 渲染洩漏,外型與 4a 5G 幾乎相同

    從 Voice 的報導中,Steve Hemmerstoffer 公布了一系列宣稱是 Pixel 5a 的渲染圖片,從照片中看起來與 4a 5G 幾乎相同,據稱正在使用可能是塑膠製造的機背材料來打造一體式的機身背蓋,唯一明顯的差異在於它的電源按鈕略有不同。儘管機身有所調整,但它仍然配備有 6.2 吋的 OLED FHD+ 顯示器、較長的下八,左上角仍然有一個打動機前置攝影機。

    相機系統將會是一個更為顯著的趕進,與 Pixel 5、Pixel 4a 一樣採用雙鏡頭配置,作為一系列的成員,當然它也擁有在之前兩款手機上的規格,包含 3.5mm 耳機孔、後置指紋感應器、USB-C 連接埠兩側有揚聲器與麥克風收音孔。如果最後這款新機真的以 Pixel 5a 為名推出,那真的是走相當保險與穩紮穩打的路線,理論上來說能夠有效幫助 Google 降低生產成本,打造出一款價格實惠的入門手機。

    在這次的洩漏中並沒有針對任何硬體規格的明確資訊,但最讓筆者關注的是,有鑑於 2020 年全球在 5G 方面的巨大推動,這款設備是否會有 5G 連接能力。以推出日期而言,如果沒有任何意外中斷計畫,可能比照去年發表的 Pixel 3a 一樣落在今年上半,會是最保險的時間點。

     ◎資料來源:9to5Google

     

    您也許會喜歡:

    【推爆】終身$0月租 打電話只要1元/分

    立達合法徵信社-讓您安心的選擇

    【其他文章推薦】

    ※教你寫出一流的銷售文案?

    ※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

    ※回頭車貨運收費標準

    ※別再煩惱如何寫文案,掌握八大原則!

    ※超省錢租車方案

    ※產品缺大量曝光嗎?你需要的是一流包裝設計!

    ※推薦台中搬家公司優質服務,可到府估價

  • 首款螢幕下鏡頭設計的 AXON 20 5G 自拍分數僅拿到 26,DxOMark 點出目前這技術的一大挑戰

    首款螢幕下鏡頭設計的 AXON 20 5G 自拍分數僅拿到 26,DxOMark 點出目前這技術的一大挑戰

    很多人都希望手機螢幕能夠不要有瀏海,而現在確實也有解決方案,就是把鏡頭嵌在螢幕下方,不過即便已經有,但大多數品牌還是放棄,相信不少人都有疑問,為什麼?難道是因為成本太高嗎?最近 DxOMark 公布的世界首款採用螢幕下鏡頭技術 “中興 AXON 20 5G” 自拍分數,或許就是其中一個關鍵因素。

    世界首款螢幕下鏡頭設計的 AXON 20 5G 自拍分數僅拿到 26

    中興 AXON 20 5G 雖然是去年底推出的新機,自拍鏡頭也高達 3,200 萬畫素,光看到這兩個條件,部分人應該會覺得,自拍表現不至於太差才對,但事實上卻只拿到 DXO 給予 26 的超低分數,只比一款 2019 年印度廉價手機高一些。

    DxOMark 表示,AXON 20 5G 的曝光和對焦雖然穩定,但螢幕下鏡頭設計卻帶來非常多照片品質問題。

    AXON 20 5G 在 55 厘米處會開始變模糊、細節變少,且噪點大幅增加,即便是高亮度環境也能看到細小的噪點。這張照片中間整個就像是柔化,感覺在天國拍的一樣:

    有時候甚至會出現色彩跑掉的狀況。此外,閃光燈表現也非常差,落差很嚴重,提供的光線不足。另外 DxOMark 也發現,鏡頭上方的螢幕區塊如果處於活動狀態(如:發光),還會導致照片品質變更差:

    直接看影片可能更清楚,錄影一樣有很模糊、嚴重柔化的狀況。防手震幾乎沒用,即便是靜止不動狀態,一樣會出現殘影:

     

    一般來說 DxOMark 的測試報告都會很長一篇篇幅,但 AXON 20 5G 自拍表現實在太糟,大概不到幾分鐘即可閱讀完,有興趣深入了解的人可以點我跳轉。

    這也代表說,拍照品質很可能是大多數廠商還不願意導入螢幕下鏡頭設計的很大原因。

    這次的詳細分數表,沒想到照片只獲得 10 分,真的是很慘,而且色彩竟然只有 8….:

    資料來源:DxOMark

    ROG Phone 5 完整外觀提前被 DXOMARK 曝光! 3.5mm 耳機孔回歸,將於 3/10 晚間全球發表

    您也許會喜歡:

    【推爆】終身$0月租 打電話只要1元/分

    立達合法徵信社-讓您安心的選擇

    【其他文章推薦】

    ※超省錢租車方案

    ※別再煩惱如何寫文案,掌握八大原則!

    ※回頭車貨運收費標準

    ※教你寫出一流的銷售文案?

    ※產品缺大量曝光嗎?你需要的是一流包裝設計!

    ※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

    網頁設計最專業,超強功能平台可客製化

  • OPPO 將於本周發表自家無線充電技術,展示影片先行釋出

    OPPO 將於本周發表自家無線充電技術,展示影片先行釋出

    無線充電是一項很方便的技術,讓你可以順手把手機放在充電板上就能補給電量,但缺點就是只要一個沒對好或是稍微離開充電板,充電動作就會停止。過去曾經多次嘗試解決這個問題,但現在看來各家智慧型手機製造商正在朝此目標大步邁進,繼小米與 Motorola 之後,現在 OPPO 也跟了上來,而且以自家螢幕伸縮手機為示範。

    OPPO 將於本周發表自家無線充電技術,展示影片先行釋出

    雖然部分廠商已經找到解決目前的 Qi 無線充電技術的大問題,但還是無法解決使用者想要在無線充電同時講電話的需求。上個月,小米與 Motorola 都展示了無線充電的實驗性技術,允許手機能夠在更遠的距離裡面與充電器溝通進行充電,它們擁有各自的解決方案,像小米就選擇一個大盒子來裝置這種長距無線充電所需的硬體,或者 Motorola 在檢測到充電器與手機之間有人體時就會暫停充電。

    OPPO 所推出的遠距無線充電版本則與上面兩家都不一樣。OPPO 在微博上面發表了一段簡短的影片中,OPPO 以最新的概念機型 OPPO X1 2021 來展示這項無線充電技術。充電器雖然不起眼,但其厚度很有存在感,也能作為一般充電器來使用,而其可充電的距離似乎較短,不像小米或 Motorola 那般可以稍遠的距離充電。

    當然,OPPO 會在本周揭幕的 MWC 上海中發表更多細節,奇怪的是這項技術所展示的機型是該公司聲稱不會推出的手機,不過這並不影響 OPPO 將新充電技術用在其他機型上,又或是屆時會讓兩者同時登場。

    ◎資料來源:SlashGear

     

    您也許會喜歡:

    【推爆】終身$0月租 打電話只要1元/分

    立達合法徵信社-讓您安心的選擇

    【其他文章推薦】

    網頁設計最專業,超強功能平台可客製化

    ※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

    ※回頭車貨運收費標準

    ※推薦評價好的iphone維修中心

    ※教你寫出一流的銷售文案?

    台中搬家公司教你幾個打包小技巧,輕鬆整理裝箱!

    台中搬家公司費用怎麼算?

  • Spotify 將於今年稍晚推出無損音質「Spotify HiFi」服務

    Spotify 將於今年稍晚推出無損音質「Spotify HiFi」服務

    Spotify 應該是目前最多人用的音樂串流服務,雖然可以即時聽到許多新歌,但對很多對音質講究的發燒客來說遠遠不夠,雖然比起 Tidal 算是稍晚了一些,但該公司今日宣布將會推出新的「Spotify HiFi」服務,覆蓋全球超過 80 個國家,新增 36 種語言,成為一個更高階的訂閱選項。

    Spotify 將於今年稍晚推出無損音質「Spotify HiFi」服務

    Spotify 在一個名為「Stream On」的虛擬現場活動中宣布了新服務「Spotify HiFi」,這個更高階的訂閱選項將可能適用於智慧型手機與其他裝置中的應用程式,同時也能支援 Spotify 連接的揚聲器,事實上 Spotify 正在與製造商合作,使這個新服務能夠盡可能地提供給更多人使用。

    在過去,Spotify 曾經針對少量群眾進行高音質串流測試,接下來則會更廣泛地推出該功能,必且提醒只會在特定市場中提供,預計將覆蓋亞洲、歐洲、非洲、拉丁美洲等地區,讓用戶在設備上與支援 Spotify Connect 的揚聲器上聆聽 CD 般品質的無損音訊格式,這表示樂迷們能夠以更深入、清晰的聲音來聆聽喜愛的曲目。

    Spotify 並沒有透漏這個新的訂閱選項會將會定價在多少錢,不過有鑑於 Amazon 在 2019 年推出的高解析音樂服務每月定價為 14.99 美元(Prime 用戶則為 12.99 美元); Tidal 從推出以來就主打高解析音訊,其定價為每月 19.99 美元,甚至可以提供最高達 96KHz/24bit 的音樂訊號。由此看來,或許我們可以假定價格會落在 15 至 20 美元之間。

    ◎資料來源:The Verge

     

    您也許會喜歡:

    【推爆】終身$0月租 打電話只要1元/分

    立達合法徵信社-讓您安心的選擇

    【其他文章推薦】

    ※產品缺大量曝光嗎?你需要的是一流包裝設計!

    ※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

    ※回頭車貨運收費標準

    ※推薦評價好的iphone維修中心

    ※超省錢租車方案

    台中搬家遵守搬運三大原則,讓您的家具不再被破壞!

    ※推薦台中搬家公司優質服務,可到府估價

  • realme GT 於上海 MWC 提前亮相,搭載 S888 處理器、 3D 鋼化液冷散熱、純素皮革拼接工藝

    realme GT 於上海 MWC 提前亮相,搭載 S888 處理器、 3D 鋼化液冷散熱、純素皮革拼接工藝

    在 2021 年初 realme V15 和 V11 後,接下來即將在 3 月 4 日正式發表品牌首款搭載高通 Snapdragon 888 旗艦行動平台的 realme GT 旗艦 5G 手機,稍早 realme 於上海 MWC 也搶先亮相 realme GT 的外觀設計。同時, realme 也公開今年的企業目標將以「雙平台雙旗艦」策略全面佈局中高階產品線,將以高通 Snapdragon 8 系列處理器與聯發科天璣系列雙旗艦 5G 平台,分別推出以性能和影像兩類旗艦系列手機,提供消費者在中高階手機更豐富的選擇。

    ▲圖片來源:realme

    realme GT 於上海 MWC 提前亮相,搭載 S888 處理器、 3D 鋼化液冷散熱、純素皮革拼接工藝

    幾天前, realme 才正式宣佈代號「Race」的 realme 品牌首款高通 Snapdragon 888 旗艦手機將命名為「realme GT」,今(23)日稍早, realme 於上海 MWC 2021 提前亮相將在 3 月 4 日發表的 realme GT 旗艦新機外觀設計,同時也預告了今年品企業目標。

    ▲圖片來源:徐起Chase(微博)

    realme GT 將搭載 Qualcomm Snapdragon 888 旗艦行動平台、最高 12GB LPDDR5 RAM 、 UFS 3.1 ROM 、120Hz 更新率螢幕和 SuperDart 快速充電、立體聲揚聲器、線性馬達、 WiFi-6E 。另外,今日也搶先亮相 ralme GT 將搭載全新一代 3D 鋼化液冷散熱技術,進一步提升散熱結構的冷卻性能、提升手機的散熱表現,同時也在機身背蓋採用首創的純素皮革拼接工藝。

    ▲圖片來源:realme

    ▲圖片來源:realme真我手機(微博)

    realme GT 不光只有強勁性能,在設計上也採用首創的純素皮革拼接工藝,將兩種不同顏色材質結合在一起,為使純素皮革更緊密貼合, realme 首創將背蓋與內中框採一體成型工藝,進而大幅減少連接處的隙縫或翻皮的風險。材質上選用第二代純素皮革,擁有更加細膩的紋理柔和舒適的手感。

    ▲圖片來源:realme

    ▲圖片來源:徐起Chase(微博)

    另外, realme GT 也有另一款配色則採用 3D 玻璃背蓋,在玻璃背蓋賦予充滿速度感的賽道紋理:

    ▲圖片來源:徐起Chase(微博)

    散熱部分, realme GT 搭載全新一代 3D 鋼化液冷散熱技術,透過在散熱系統中加入不鏽鋼材料,進一步提升結構的冷卻性能和提升手機散熱表現。

    ▲圖片來源:徐起Chase(微博)

    ▲圖片來源:徐起Chase(微博)

    日前 realme 也公佈將由楊冪擔任 realme 全球品牌代言人:

    ▲圖片來源:realme 官網(中國)

    日前 reame 官方也已釋出楊冪代言 realme GT 的預告影片:

     

    不僅是 realme GT 的外觀設計與散熱系統,在上海 MWC 2021 也發表今年將以「雙平台雙旗艦」策略全力目標中高階市場。未來 realme 將同時以高通 Snapdragon 8 系列和聯發科天璣系列雙旗艦 5G 平台,推出分別主打性能和影像的兩個旗艦系列。

    ▲圖片來源:realme

    延伸閱讀:
    確認以 GT 為名! realme GT 高通 S888 新旗艦將於 3/4 14:00 正式發表

    您也許會喜歡:

    【推爆】終身$0月租 打電話只要1元/分

    立達合法徵信社-讓您安心的選擇

    【其他文章推薦】

    ※回頭車貨運收費標準

    ※產品缺大量曝光嗎?你需要的是一流包裝設計!

    ※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

    ※推薦評價好的iphone維修中心

    ※教你寫出一流的銷售文案?

    台中搬家公司教你幾個打包小技巧,輕鬆整理裝箱!

    台中搬家遵守搬運三大原則,讓您的家具不再被破壞!

  • 新冠病毒有味可尋? 英國計劃訓練狗狗嗅出感染者

    摘錄自2020年4月9日香港01 報導

    新冠病毒(COVID-19)疫情持續,英國慈善組織「醫療偵測犬」(Medical Detection Dogs)與倫敦衞生與熱帶醫學院(London School of Hygiene and Tropical Medicine)及杜倫大學(University of Durham)合作,研究能否利用狗檢測新冠病毒。

    該組織表示,狗是世上最強大的生物探測器之一,能檢測出毒品、爆炸品和食物的氣味,且早已被利用在公共衛生範疇。主席葛斯特博士(Dr. Claire Guest)稱,原則上,一定數量的病毒會改變感染者身上氣味,狗能嗅出當中分別,以識別患者甚至沒有徵狀的感染者;現在研究人員正在尋找方法,讓狗狗可以在安全情況下,嗅出病人身上病毒的氣味;如果研究成功,這種快捷準確且非入侵性的檢測方法,可以大大減輕國民保健服務(NHS)的負擔。

    研究人員表示,經訓練的狗約可於六星期內投入檢測病毒工作,預計一隻可在1小時內平均檢測約250人,長遠而言,這些狗日後更可在機場或其他出入境關口為旅客檢測,以預防新一波的疫情爆發。

    生活環境
    國際新聞
    英國
    武漢肺炎
    公共衛生
    動物福利

    本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

    【其他文章推薦】

    台北網頁設計公司這麼多該如何選擇?

    ※智慧手機時代的來臨,RWD網頁設計為架站首選

    ※評比南投搬家公司費用收費行情懶人包大公開

    ※回頭車貨運收費標準

    網頁設計最專業,超強功能平台可客製化

    ※別再煩惱如何寫文案,掌握八大原則!